Standard installation
Linux

Online installation

22min

Minimum system requirements

Passwork is not resource-heavy. How much disk space, RAM and CPU power you will need depends on the number of active users, the amount of stored data, and your requirements for fault-tolerance.

If the server has 2-4 GB RAM, it is recommended to enable a SWAP file to build all libraries correctly.

System update

DEB-based

Shell


RPM-based

Shell


Docker 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 Docker installed not through snap

Installation

To install Passwork, you need to download and run the script that will install all the necessary components.

Create a directory and navigate to it:

Shell


Copy the installation script:

Shell


Authenticity check

Check the hash of the file passwork_compose_install.sh to verify the authenticity of the file:

Shell


The system should display the message passwork_compose_install.sh: OK.

User rights verification and script execution

If you are installing not as root, make sure that the user is a member of the docker group.

You can check using the following method:

Shell


You can add a user to the docker group like this:

Shell


Give the script execution rights and run it:

Shell


The script uses apt or dnf, as well as curl. If a proxy server is used in your network, you need to add environment variables: export http_proxy=http://proxy.example.com:8080 export https_proxy=http://proxy.example.com:8080

Actions performed by the script

Process of executing the installation script

The script will check the rights of the current user, as well as the versions of the necessary components. In case of errors, the script will create a log in the format install_log_date.log and will place the errors in it.

Document image


During the execution, the certificate number will be requested from the customer portal:

Document image


After the script execution is completed

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 correct output:

Document image


Setup wizard

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.

Choose language

At the first step, the system will offer to choose the interface language.

Document image


System parameters check

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

Document image


Database connection

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

Document image


Encryption key

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.

Document image


License keys

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

Document image


Setting up your own SSL certificate

By default, Passwork will generate a self-signed certificate. When the installation is complete you can move on to using full SSL certificates.

Use your own certificate

  • For certificates issued by a trusted issuer
  • For certificates issued by the domain certification authorities of your organization

Rename and place your SSL certificate or certification chain in ./conf/ssl

privkey.pem — private key.

fullchain.pem — certificate\certification chain

Use Let's Encrypt

You can configure Let's Encrypt if you don't have a certificate authority (certificate issued by a trusted center), but you have a public DNS name for the server.

Edit the file - .env change and add the following parameters:

Text


Save the changes made and start the container.

Shell


Check the container logs for certificate acquisition.

Shell


Example of issuing a certificate

Document image


Recreate containers to update data using new certificates.

Shell


Passwork will be available via the HTTPS protocol using a certificate from Let's Encrypt.

Updated 09 Oct 2024
Doc contributor
Doc contributor
Did this page help you?