Hoy vamos a ver cómo instalar y configurar Passbolt en un contenedor Docker. Para quienes no lo conozcan, Passbolt es un gestor de contraseñas de código abierto orientado a equipos. Es una herramienta muy útil si trabajas en entornos colaborativos donde compartir credenciales de forma segura es imprescindible.
Lo mejor de todo es que lo podemos desplegar en pocos minutos usando Docker.
Requisitos previos
Antes de empezar, asegúrate de tener lo siguiente:
- Docker y Docker Compose instalados en tu sistema.
- Un dominio (opcional pero recomendado si quieres usar HTTPS).
- Puertos 80 y 443 libres. Tambien puede servir otro puerto si tenemos los anteriores puertos ocupados
Puedes instalar Docker y Docker Compose en la mayoría de distribuciones Linux con los siguientes comandos:
sudo apt update
sudo apt install docker.io docker-compose -y
NOTAS: Este post esta instalado en una NAS Synology pero se podria instalar en cualquier entorno que tenga instalado docker.
Crear el archivo docker-compose.yml
Vamos a crear un directorio para Passbolt y dentro de él el archivo de configuración docker-compose.yml
.
mkdir passbolt && cd passbolt
nano docker-compose.yml
Pega el siguiente contenido:
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 # Imagen en formato root, pero se puede instalar sin non-root
#image: passbolt/passbolt:latest-ce-non-root
restart: unless-stopped
depends_on:
- db
environment:
APPAPP_FULL_BASE_URL: http://passbolt.domain.com #
PASSBOLT_SSL_FORCE: false
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:
- 8011:80 #Se puede cambiar los puertos sin ningun problema XXXX:80
- 4423:443 #Se puede cambiar los puertos sin ningun problema XXXX:443
volumes:
database_volume:
gpg_volume:
jwt_volume:
Iniciar los contenedores
Una vez configurado todo, ejecutamos:
docker-compose up -d
Esto descargará las imágenes necesarias y levantará los contenedores de Passbolt y MariaDB. Puedes comprobar que todo está corriendo con:
docker ps
Inicializar Passbolt
Accede a tu navegador y abre http://localhost
o https://direccionIP
según hayas configurado el docker-compose. Te aparecerá el asistente de configuración de Passbolt:
Para funcionar la primera vez tendrás que ejecutar la siguiente linea de comandos, dentro del docker para que pueda generarse un enlace en especifico con los datos que se solicitan.
sudo docker exec "docker_ID" su -m -c "bin/cake passbolt register_user -u "Correo asociado" -f "Nombre" -l "Apellido" -r "rol_definido""-s /bin/sh www-data
- Docker ID: Numero de ID asociado al docker de Passbolt
- Correo asociado: Deberemos de incluir un correo para la hora del login.
- Nombre: Introducir un nombre del usuario
- Apellido: Introducir un apellido del usuario
En la siguiente imagen podemos ver que nos indica lo que tenemos que introducir en la url del passbolt

Una vez tengas la URL completa y la hayas introducido en el navegador, os saldrá una imagen como esta:

En la siguiente imagen, se puede ver que os descarga de forma automática un kit de recuperación. Es importante que este kit, se guarde de forma segura y que no se pierda. Una vez que lo tengas guardado, tendras que habilitar la casilla de «He guardado mi kit de recuperacion de forma segura» y darle a siguiente.

En el siguiente paso, nos pedirá escoger un color y introducir tres caracteres. Esto sirve para que cuando nos solicite la contraseña de acceso, venga del passbolt y no sea una posible ataque de Phishing.

Por ultimo, cuando hayáis terminado con todo el proceso. Os saldrá una pagina como la siguiente imagen, que os indica que ya esta funcionando correctamente el passbolt.

Consejos extra
- Si quieres usar HTTPS, puedes usar un proxy inverso con Nginx y Let’s Encrypt (por ejemplo, con NGINX Proxy Manager).
- Realiza backups regulares del volumen
./db
donde se guarda la base de datos. - Mantén las imágenes actualizadas con
docker-compose pull
.
Conclusión
Passbolt es una solución potente para la gestión de contraseñas en equipos. Y gracias a Docker, su despliegue es muy sencillo. En pocos pasos puedes tener un entorno funcional, seguro y accesible desde cualquier lugar.
Si tienes dudas o quieres compartir tu experiencia, puedes dejar un comentario para que podamos leerte o ayudarte sin problemas.