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
If the server has 2-4 GB of RAM, we recommend enabling a SWAP file, as the build reserves memory for tmpfs and opcache.
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:
Obtain the following components:
Copy the certificate number from the Passwork customer portal and get the release candidate version in a web browser — https://portal.passwork.pro/api/download?rc=yes&apikey=certificate_number.
- Passwork installation script — https://repos.passwork.pro/repository/docker/rc/passwork_compose_install.sh
- Archive with docker-compose build files — https://repos.passwork.pro/repository/docker/rc/passwork_compose_last.tar.gz
- Percona Server for MongoDB container image — https://repos.passwork.pro/repository/docker/images/psmdb6.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:

You must use the default MongoDB address to connect:

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.
- 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