Skip to main content
Version: 7.0

Docker

danger

This instruction is intended for a single Passwork installation and is not suitable for a failover solution

Updating PHP and Passwork

Navigate to the root location of the Passwork Docker build:

cd /<passwork>/

Download the migration script for the Docker environment and Passwork:

wget https://repos.passwork.pro/repository/docker/migration_7.sh

Assign execution permissions to the script and run it:

chmod +x migration_7.sh
danger

Before running the script, please make sure of the following.

Passwork has internet access and uses a database in a container

If the Passwork server has internet access and uses a database in a container (psmdb5), run the migration with the following argument:

sudo ./migration_7.sh -now
Passwork is located in a closed network

Obtain the following .zip archives and .tar container images:

  1. Passwork code in the format Passwork-xxxxxx.zip from the customer portal;
  2. Docker Compose archive of the build;
  3. Passwork installation script;
  4. Container image Nginx;
  5. Container image PHP;
  6. Container image Percona Server for MongoDB;
  7. Container image Postfix;
  8. Container image Alpine.

On the Passwork server, in the root location of the Docker build (./), create a directory:

mkdir ./passwork_images

Move the obtained archives and images to the server with the Docker build and arrange them in the following format:

./Passwork-xxxxxx.zip
./passwork_compose_install.sh
./passwork_compose_last.tar.gz
./passwork_images/alpine.tar
./passwork_images/nginx.tar
./passwork_images/php8.3.tar
./passwork_images/postfix.tar
./passwork_images/psmdb7.tar

Example of the placement of the obtained archives and images in the Docker build:

Example of file/archive placement

Run the Passwork migration with the following arguments:

sudo ./migration_7.sh -now -o
Passwork has internet access and uses an external database

Run the Passwork migration with the following arguments:

sudo ./migration_7.sh -now -nodb
Passwork is located in a closed network and uses an external database
  1. Perform the actions to obtain .zip archives and .tar images from Passwork server located in a closed network, without obtaining psmdb7.tar;
  2. Move the obtained archives and images to the server with the Docker build and arrange them in the format shown above;
  3. Run the Passwork migration with the following arguments:
sudo ./migration_7.sh -now -o -nodb
Actions performed
  1. Reading the configuration file config.ini and converting parameters to the new format
  2. Changing the value of pw in the MongoDB database
  3. Extracting the encryption key and saving it to a separate file
  4. Creating a database backup using db-backup.sh
  5. Archiving environment files into tar.gz
  6. Stopping the compose build containers
  7. Downloading and running the Docker build and Passwork update script
  8. Downloading and running the updated compose build
  9. Restoring the Passwork database in the new Docker build
  10. Performing migration of Passwork database objects

Script execution process

The script checks the completion of the primary migration in the Passwork web interface (6.5), converts configuration files, and runs the migration. If errors occur, they will be displayed in the console:

Example of an error during migration execution

This is what a successful script completion looks like:

Example of successful migration to Passwork 7
info

If the Passwork migration is performed on Astra Linux, please contact Passwork technical support for additional instructions.