Help Search

Docker install

Important: Installing Passbolt with Docker is considered a somewhat advanced method. Using this method assumes you are familiar with Docker and have run other applications with Docker. If you do not have experience working with Docker we recommend you use another of our installation methods.

System requirements

FAQ pages:

docker-compose

The easiest and recommended way to deploy your passbolt stack is to use docker-compose.

Step 1. Download our docker-compose.yml example file

wget https://download.passbolt.com/pro/docker/docker-compose-pro.yaml
wget https://github.com/passbolt/passbolt_docker/releases/latest/download/docker-compose-pro-SHA512SUM.txt

Step 2. Ensure the file has not been corrupted by verifying its shasum

$ sha512sum -c docker-compose-pro-SHA512SUM.txt

Must return:

docker-compose-pro.yaml: OK

Warning: If the shasum command output is not correct, the downloaded file has been corrupted. Retry step 1 or ask for support on our community forum.

Step 3. Create a subscription_key.txt file containing your subscription key.

Step 4. Configure environment variables in docker-compose-pro.yaml file to customize your instance.

Notice: By default the docker-compose.yaml file is set to latest. We strongly recommend changing that to the tag for the version you want to install.

The APP_FULL_BASE_URL environment variable is set by default to https://passbolt.local, using a self-signed certificate.

Update this variable with the server name you plan to use. You will find at the bottom of this documentation links about how to set your own SSL certificate.

You must configure also SMTP settings to be able to receive notifications and recovery emails. Please find below the most used environment variables for this purpose:

Variable name Description Default value
EMAIL_DEFAULT_FROM_NAME From email username 'Passbolt'
EMAIL_DEFAULT_FROM From email address 'you@localhost'
EMAIL_TRANSPORT_DEFAULT_HOST Server hostname 'localhost'
EMAIL_TRANSPORT_DEFAULT_PORT Server port 25
EMAIL_TRANSPORT_DEFAULT_USERNAME Username for email server auth null
EMAIL_TRANSPORT_DEFAULT_PASSWORD Password for email server auth null
EMAIL_TRANSPORT_DEFAULT_TLS Set tls null

For more information on which environment variables are available on passbolt, please check the passbolt environment variable reference.

Step 5. Start your containers

docker-compose -f docker-compose-pro.yaml up -d

Step 6. Create first admin user

$ docker-compose -f docker-compose-pro.yaml exec passbolt su -m -c "/usr/share/php/passbolt/bin/cake \
                                passbolt register_user \
                                -u <[email protected]> \
                                -f <yourname> \
                                -l <surname> \
                                -r admin" -s /bin/sh www-data

It will output a link similar to the below one that can be pasted on the browser to finalize user registration:

https://my.domain.tld/setup/install/1eafab88-a17d-4ad8-97af-77a97f5ff552/f097be64-3703-41e2-8ea2-d59cbe1c15bc

At this point, you should have a working docker setup running on the latest tag. However, it is recommended that users pull the tags pointing to specific passbolt versions when running in environments other than testing.

Going further

Docker FAQs:

Passbolt docker repository:

Last updated

This article was last updated on February 6th, 2023.

Available on docker hub

Docker Logo

Get passbolt container!

Are you experiencing issues with Passbolt Pro Edition?

Contact Pro support

or ask the community

🍪   Do you accept cookies for statistical purposes? (Read more) Accept No thanks!