
Passbolt is an open-source password manager designed for collaboration. Passbolt focuses on team sharing, utilizing OpenPGP for end-to-end encryption. It features a robust API, rigorous security standards, and a browser-based extension interface.
This article demonstrates how to deploy Passbolt Community Edition on Ubuntu 24.04 using Docker Compose. The stack includes MariaDB for data storage and Traefik for automatic HTTPS termination.
Before you begin:
passbolt.example.com, to point to your server’s public IP address.Passbolt requires persistent storage for its database, GPG keys, and TLS certificates, as well as several environment variables that define its domain and database credentials. Because the official Passbolt container runs as the internal user www-data (UID 33), the directory structure must be created with the correct ownership so the container can generate and store GPG keys without permission errors. This section prepares the required folders and creates the .env file that Docker Compose uses to load configuration values automatically.
Create the project folders.
db - Persistent storage for the MariaDB database.gpg - Stores the server's private PGP keys.letsencrypt - Traefik ACME certificates.Change the ownership of the gpg directory to User ID 33. The Passbolt container runs internally as user ID 33 (www-data). This command grants the container permission to write to the folder, allowing it to generate and save the server's GPG keys.
Navigate to the root Passbolt directory.
Passbolt requires several environment variables to define its domain, database credentials, and email address for certificate management. These values are stored in an .env file, so Docker Compose can load them automatically during deployment.
Create a file named .env in the project directory.
Add the following values:
Replace passbolt.example.com with your domain and STRONG_DB_PASSWORD with a secure password. Save and close the file.
This section sets up the full Passbolt deployment using Docker Compose. The stack includes three services: Traefik for HTTPS termination, MariaDB for persistent data storage, and Passbolt for the main password management application. All services run in isolated containers and communicate over a shared Docker network.
Add your user account to the docker user group.
Apply new group membership.
Create the Docker Compose manifest file.
Add the following contents:
Save and close the file. This Docker Compose configuration deploys Passbolt, using MariaDB for storage and Traefik for HTTPS termination. Each service plays a distinct role in the deployment:
passbolt service
passbolt/passbolt image..env file.APP_FULL_BASE_URL variable to correctly generate all application URLs../gpg) to store Passbolt’s server-side encryption keys.${DOMAIN}).db service (MariaDB)
.env file../db directory for persistence across container restarts.MYSQL_RANDOM_ROOT_PASSWORD=true to automatically generate a secure root password.mysqladmin ping to verify database readiness.traefik service
./letsencrypt directory.Start all services in detached mode.
Check the container status.
For more information on managing a Docker Compose stack, see the How To Use Docker Compose article.
Passbolt does not ship with a default login. You must manually register the first user via the command line to generate an invite link.
Execute the following command to register the first user. Replace admin@example.com, FIRSTNAME, and LASTNAME with your details.
Sample output:
The output of the last step contains a link. Copy the full URL provided in the terminal and paste it into your web browser to initiate the user registration process.
Passbolt detects your browser and prompts you to install the official extension. This is mandatory for local encryption. Install the extension.
After you install the extension, the page refreshes and detects the extention. Click Next.
Enter a strong passphrase. Click Next.
Check the I safely stored my recovery kit. option and click Next.
Choose the security token and color. Click Next.
The Passbolt dashboard loads.
You have successfully deployed Passbolt on Ubuntu 24.04. You now have a secure, team-oriented password manager running with OpenPGP encryption. For more information, refer to the Passbolt documentation.
0 Comments
Be the first to comment and share your perspective with the community.