Offline installation
Download and install Docker. The minimum required version is 18.06.0. Official installation article — https://docs.docker.com/engine/installation/
Install and enable the Docker Compose plugin if it has not been installed previously. The official installation article — https://docs.docker.com/compose/install/linux/
We recommend using a non-Snap version of Docker
To install Passwork, you need to download the files and a script that will perform the necessary steps for installation.
- Create a directory and open it:
- Download:
- Passwork installation script — https://repos.passwork.pro/repository/docker/passwork_compose_install.sh
- Archive with docker-compose build files — https://repos.passwork.pro/repository/docker/passwork_compose_last.tar.gz
- Percona Server for MongoDB container image — https://repos.passwork.pro/repository/docker/images/psmdb5.tar
- Move the downloaded files to the Linux server in the directory, where you plan to install Passwork — your_directory
- In the created directory create a subdirectory — passwork_images
- Move *.tar image archives to — passwork_images
- The structure of files and folders will look like this:
If you are installing not as root, make sure that the user is a member of the docker group.
You can do it using the following method:
You can add a user to the docker group like this:
- Assign execution rights to the script:
- In the directory — your_directory run the passwork_compose_install.sh installation script with the -o flag
The script will automatically execute docker ps. Please check the list of running containers. If the containers were not started, please check the installation output and log. Example of a correct output:

After building and running the containers, Passwork will be available at the following link: https://your_servername
By default, Passwork uses a self-signed certificate that is automatically generated during installation, so when you first open the page, you will see a message that the browser does not trust the site's certificate.
As the first step, the system will offer to choose the interface language.

The checklist of parameters will show if all necessary components are installed on your server.

By default, Passwork in Docker connects to a service named db, so it is necessary to change the connection string on the third stage of the initial installation.
The connection string is mongodb://db:27017

Passwork will generate a new key for server encryption. If you are connecting Passwork to an existing database, specify the existing encryption key.
Do not enter a key that was generated outside of Passwork. Passwork uses special secure algorithms to generate new keys in appropriate formats. Using keys generated by third-party tools may result in incorrect operation.

You can download the license keys on Passwork customer portal or request them from your managers.

- After the script is finished, check that the new installation is working properly and make adjustments if necessary.
- To add mail server or LDAPS root certificates to trusted certificates, copy the .pem or .crt root certificates to the ./conf/custom_ca directory and restart the PHP container — docker compose restart passwork_php
- To change the SSL certificate used, copy the certificate/certificate chain to ./conf/ssl/fullchain.pem and the private key to ./conf/ssl/privkey.pem, restart the Nginx container — docker compose restart passwork_nginx