🔑Passbolt con Docker

· 3 min de lectura
🔑Passbolt con Docker

¿Qué es passbolt?

Para el que no lo conozca passbolt es un gestor de contraseñas como 1password, lastpass etc, por cierto este último como que no es muy recomendable después de la última filtración.

Yo venía usando desde hace años 1password y la verdad que sin problema todo funciona genial, extensiones para navegadores, app de Windows y android genial.
Estos sistemas están basados en la nube es decir tu no te tienes que preocupar de nada que no sea guardar el Kit de recuperación ya que eso únicamente lo tienes tu y es lo que garantiza que tus claves en sus servidores están encriptadas y únicamente tú tienes la clave para descifrarlas.

Pero bueno ya me habían recomendado passbolt porque lo que lo hace diferente es que este además de la versión de pago o mejor llamada cloud igual que 1password este sí tiene opción self-hosted por lo que lo montas en cualquier servidor o lo que tengas y listo te ahorras los 45$ anuales que estaba pagando que en verdad para un año y el servicio que dan se pagaban besados pero bueno yo soy alguien inquieto y necesito pones las cosas patas arriba.

Ventajas

Por si hay alguien menos entendido en el tema la ventaja de estos gestores de contraseñas basados en la nube es que las contraseñas eso están en la nube por lo que en un minuto puedes tener tus contraseñas en cualquier dispositivo.

Instalación

Así que ya después de explicar un poco el tema vamos a montar en unos minutos este gestor de contraseñas.

A mí me gusta utilizar docker-compose, aún así aquí está la documentación oficial y tampoco vamos a explicar a estas alturas como usar levantar un contenedor con docker-compose para eso está google ya.

version: "3.9"
services:
  db:
    image: mariadb:10.11
    restart: unless-stopped
    environment:
      MYSQL_RANDOM_ROOT_PASSWORD: "true"
      MYSQL_DATABASE: "passbolt"
      MYSQL_USER: "passbolt"
      MYSQL_PASSWORD: "P4ssb0lt"
    volumes:
      - database_volume:/var/lib/mysql

  passbolt:
    image: passbolt/passbolt:latest-ce
    #Alternatively you can use rootless:
    #image: passbolt/passbolt:latest-ce-non-root
    restart: unless-stopped
    depends_on:
      - db
    environment:
      APP_FULL_BASE_URL: https://IP:5782
      DATASOURCES_DEFAULT_HOST: "db"
      DATASOURCES_DEFAULT_USERNAME: "passbolt"
      DATASOURCES_DEFAULT_PASSWORD: "P4ssb0lt"
      DATASOURCES_DEFAULT_DATABASE: "passbolt"
    volumes:
      - gpg_volume:/etc/passbolt/gpg
      - jwt_volume:/etc/passbolt/jwt
    command:
      [
        "/usr/bin/wait-for.sh",
        "-t",
        "0",
        "db:3306",
        "--",
        "/docker-entrypoint.sh",
      ]
    ports:
      - 5780:80
      - 5782:443
    #Alternatively for non-root images:
    # - 80:8080
    # - 443:4433

volumes:
  database_volume:
  gpg_volume:
  jwt_volume:

He cambiado los puertos por defecto ya que en la máquina donde lo iba a poner esos ya los tenia en uso.

Una vez tengamos el docker instalado y corriendo vamos a crear el primer usuario para eso vamos a la terminal y ponemos los siguiente

docker exec NOMBRE DE TU CONTENEDOR PASSBOLT su -m -c "/usr/share/php/passbolt/bin/cake passbolt register_user -u tucorreo@gmail.com -f Nombre -l Apellido -r admin" -s /bin/sh www-data

Y nos arrojará un enlace el cuál debemos poner en el navegador y seguir los fáciles pasos.

En el proceso nos descargará un archivo, esa es la clave para poder recuperar y añadir este gestor en cualquier otro dispositivo nuevo, por lo tanto hay que guardarla muy bien.

Y esto sería todo, ni que decir tiene que debes hacer copias de seguridad del docker ya que si este lo pierdes pues pierdes todo ya que ahí están las contraseñas encriptadas, y repito encriptadas porque sin la clave que antes has descargado nadie sería capaz de descifrarlas. 🔒