Help Search

Upgrade from CE to Pro using docker

This tutorial covers the case where you want to upgrade from your passbolt CE into Passbolt Pro when using docker.

Important: Please take a full backup of your passbolt before proceeding with the upgrade. Backup should include passbolt files as well as the database.

Deprecation notice: From version 3 of Passbolt config volume should be mounted on /etc/passbolt and sources one in /usr/share/php/passbolt.

In order to upgrade from CE to Pro users just need to download the pro container and mount their corresponding subscription key.

1. Getting and running passbolt container

Passbolt containers follow the following tagging:

<version_number>-<build_number>-pro-debian

For convenience we also provide a latest tag for Passbolt containers. Throughout these documented procedures we make use of the latest tag so users will get the last version of passbolt. However, it is recommended that users pull the tags pointing to specific passbolt versions when running in environments other than testing.

Get passbolt Pro latest docker container:

$ docker pull passbolt/passbolt:latest-pro

Using host bind mounts

Users that use host bind mounts from host machine into docker file must adjust paths of the mounted files:

In the following snippet:

  • passbolt_images_dir: path to a host directory that contains passbolt images Avatar directory.
  • gpg_host_dir: path to a host directory that contains serverkey.asc and serverkey_private.asc
$ docker run --name passbolt-pro --net passbolt_network \
             --mount type=bind, \
               source=<passbolt_images_dir>,\
               target=/usr/share/php/passbolt/webroot/img \
             --mount type=bind,\
               source=<path_subscription>,\
               target=/etc/passbolt/license \
             --mount type=bind, \
               source=<gpg_host_dir>, \
               target=/etc/passbolt/gpg \
             -p 443:443 \
             -p 80:80 \
             -e DATASOURCES_DEFAULT_HOST=mariadb \
             -e DATASOURCES_DEFAULT_PASSWORD=<mariadb_password> \
             -e DATASOURCES_DEFAULT_USERNAME=<mariadb_user> \
             -e DATASOURCES_DEFAULT_DATABASE=<mariadb_database> \
             -e APP_FULL_BASE_URL=https://mydomain.com \
             passbolt/passbolt:latest-pro

Using docker volumes

Users that use docker volumes should adjust their volumes paths.

$ docker run --name passbolt-pro --net passbolt_network \
             --mount source=<passbolt_images_volume>,\
               target=/usr/share/php/passbolt/webroot/img \
             --mount type=bind,\
               source=<path_subscription>,\
               target=/etc/passbolt/license \
             --mount source=<gpg_keys_volume>, \
               target=/etc/passbolt/gpg \
             -p 443:443 \
             -p 80:80 \
             -e DATASOURCES_DEFAULT_HOST=mariadb \
             -e DATASOURCES_DEFAULT_PASSWORD=<mariadb_password> \
             -e DATASOURCES_DEFAULT_USERNAME=<mariadb_user> \
             -e DATASOURCES_DEFAULT_DATABASE=<mariadb_database> \
             -e APP_FULL_BASE_URL=https://mydomain.com \
             passbolt/passbolt:latest-pro
🍪   Do you accept cookies for statistical purposes? (Read more) Accept No thanks!