Help Search

Upgrade from CE v2 to Pro using docker

This tutorial covers the case where you want to upgrade from your passbolt CE v2.x 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.

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

Getting passbolt container

Passbolt containers follow the following tagging:

<version_number>-<build_number>-pro-debian

Nobody is perfect so we also provide a latest tag for Passbolt containers. However, it is recommended that users pull the tags pointing to specific passbolt versions.

Get passbolt Pro 2.0.1 docker container:

$ docker pull passbolt/passbolt:2.0.1-pro-debian

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=/var/www/passbolt/webroot/img \
             --mount type=bind,\
               source=<path_subscription>,\
               target=/var/www/passbolt/config/license \
             --mount type=bind, \
               source=<gpg_host_dir>, \
               target=/var/www/passbolt/config/gpg \
             -e DATASOURCES_DEFAULT_HOST=mysql \
             -e DATASOURCES_DEFAULT_PASSWORD=<mysql_password> \
             -e DATASOURCES_DEFAULT_USERNAME=<mysql_user> \
             -e DATASOURCES_DEFAULT_DATABASE=<mysql_database> \
             -e APP_FULL_BASE_URL=https://mydomain.com \
             passbolt/passbolt:2.0.1-pro-debian

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=/var/www/passbolt/webroot/img \
             --mount type=bind,\
               source=<path_subscription>,\
               target=/var/www/passbolt/config/license \
             --mount source=<gpg_keys_volume>, \
               target=/var/www/passbolt/config/gpg \
             -e DATASOURCES_DEFAULT_HOST=mysql \
             -e DATASOURCES_DEFAULT_PASSWORD=<mysql_password> \
             -e DATASOURCES_DEFAULT_USERNAME=<mysql_user> \
             -e DATASOURCES_DEFAULT_DATABASE=<mysql_database> \
             -e APP_FULL_BASE_URL=https://mydomain.com \
             passbolt/passbolt:2.0.1-pro-debian