How to update passbolt pro using docker

Hi Frederik!

If you are using this docker compose file then by default you will have 3 docker volumes created:

  • database_volume
  • gpg_volume
  • images_volume

This volumes contain your data so they are decoupled from the containers therefore deleting, updating a container shouldn’t delete any of your data. However I encourage you to make a backup of the data using your preferred backup tool.

  1. Mysql Backup
    For mysql data you can just create a mysql dump and save it in your host machine:
    docker-compose -f docker-compose-pro.yml exec passbolt mysqldump -u root -h db -pyour_password database_name > database_dump.sql
  2. GPG Keys backups/ Images backups
    For the gpg keys you can copy them out from the passbolt container, same process applies for for the images directory:
docker cp passbolt_docker_passbolt_1:/var/www/passbolt/config/gpg/serverkey.asc .
docker cp passbolt_docker_passbolt_1:/var/www/passbolt/config/gpg/serverkey_private.asc .

Once you have all your backups in a safe place you can rollout the upgrade.
Using composer and in order to provide the minimum downtime you can do the following:

  1. Edit your docker-compose-pro.yml file
    And change the following line (I’m supossing you are upgrading for 2.0.5-pro-debian to 2.0.7-pro-debian):
    image: passbolt/passbolt:2.0.5-pro-debian
    To:
    image: passbolt/passbolt:2.0.7-pro-debian
  2. Update the container:
    docker-compose -f docker-compose-pro.yml up --no-deps -d passbolt

The second command will pull the passbolt image and swap the old and new containers when the container is created so reducing the downtime of the upgrade process.

Hope this helps, if you have more specific issues for your pro setup please contact us through contact@passbolt.com