Docker
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:
- shell
cd /<passwork>/
Download the migration script for the Docker environment and Passwork:
- shell
wget https://repos.passwork.pro/repository/docker/migration_7.sh
Assign execution permissions to the script and run it:
- shell
chmod +x migration_7.sh
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:
- shell
sudo ./migration_7.sh -now
Passwork is located in a closed network
Obtain the following .zip archives and .tar container images:
- Passwork code in the format
Passwork-xxxxxx.zipfrom the customer portal; - Docker Compose archive of the build;
- Passwork installation script;
- Container image Nginx;
- Container image PHP;
- Container image Percona Server for MongoDB;
- Container image Postfix;
- Container image Alpine.
On the Passwork server, in the root location of the Docker build (./), create a directory:
- shell
mkdir ./passwork_images
Move the obtained archives and images to the server with the Docker build and arrange them in the following format:
- shell
./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:

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

This is what a successful script completion looks like:

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