Help Center

Installing the platform on the server

Cloudless Pyrus

To install Pyrus, follow the step-by-step instructions. You will need a Pyrus Datacenter license, which you can obtain by contacting us.

Note: all commands described in this section are executed from the command line using superuser privileges.

Note: beginning with Docker-Compose 2.20.0, the command syntax has changed. Instead of docker-compose, docker compose (unhyphenated) will now be used.

Preparing the system

  1. The software described in the technical requirements must be pre-installed. You can check the functionality of Docker by running the command:

    $ docker run hello-world
    
  2. For the Docker container to operate stably with the Elasticsearch search engine, the vm.max_map_count parameter must be configured learn more:

    $ sysctl -w vm.max_map_count=262144
    
  3. To manage the Pyrus system containers, download the docker-compose file, available at https://pyrus.com/datacenter/en/docker-compose.yml, using the command:

    $ curl -fsSL https://pyrus.com/datacenter/docker-compose.yml -o docker-compose.yml
    

Important: It is strongly recommended that you change the default password for connecting to the database in the docker-compose file.

Configuring the DNS

The machine with Pyrus on it should be accessible from your corporate network at the address pyrus.yourdomain.org. To do this, find out the IP address of the server and add the corresponding A record to the domain's DNS zone. One way to check the DNS record is the dig utility:

$ dig pyrus.yourdomain.org

The command should output the A record of the specified domain name. Make sure it matches the server's IP address.

Installing SSL certificates

To ensure secure operation, you need to install an SSL certificate for your domain pyrus.yourdomain.org.

Uncomment the lines with the paths to the certificates in the nginx section of the docker-compose.yml file and specify the correct paths to your own certificate and private key:

volume:
	- /path/to/cert:/etc/nginx/ssl/cert.crt
	- /path/to/key:/etc/nginx/ssl/key.key

where:

  • /path/to/cert — path to the certificate in PEM or DER format;
  • /path/to/key — path to the private key in PEM format.

Important: the nginx container requires constant access to the certificate and private key. Do not move or delete these files without making the corresponding changes in the docker-compose.yml file.

Note 1: It is best to specify the full chain with the root certificate. If necessary, assemble the full chain of certificates as follows:

$ cat pyrus.crt intermediate.crt root.crt > ca.pem

# The order of specifying certificates reflects 
# the sequence of verification performed by the client: 
# server certificate, intermediate certificate, 
# and root certificate.

Note 2: If you want to install a certificate in an application that is already running, you must restart the nginx container.

$ docker-compose up -d nginx

Creating a database and search indexes

  1. Download the latest versions of the containers and run the installation script with the following commands:

    $ docker-compose --profile all pull
    $ docker-compose up -d postgres logs elastic
    

    The scripts in the pyrus-postgresql containers will create an empty Pyrus database on your machine. You can check the success of the launch using the following command.

    $ docker exec pyrus-postgresql pg_isready
    # /var/run/postgresql:5432 - accepting connections
    
  2. Initialize the Pyrus database and create an administrator account for your organization using the following commands:

    $ docker-compose run --rm pyrus-setup --create --skip --setadmin --email [ADMIN_EMAIL] --adminpassword [ADMIN_PASSWORD]
    $ docker-compose run --rm pyrus-setup -ct --start
    
  3. Initialize the Elasticsearch search indexes by running the following commands:

    $ docker-compose run --rm elastic-console -iall
    
    

Setting up the S3 storage

To be able to store files attached to tasks in Pyrus, you need to configure a separate S3-compatible storage from the list of those supported in Pyrus.

Note: Before starting the S3 storage, you need to specify new values --accessKey and --secretKey in the docker-compose.yml file

If you want to use MinIO storage, start it:

$ docker-compose up -d minio

To configure Pyrus to work with S3 storage, execute the following command:

$ docker-compose run --rm pyrus-setup --configure-s3 --bucket pyrus --accessKey admin --secretKey admin123 --endpointUrl http://pyrus-minio:9000 --storageType MinIo

Important: the example given is for MinIO storage. For your Pyrus Datacenter installation to be secure, you must replace the --accessKey and --secretKey values specified here.

Parameters

‑‑bucketName of the S3 bucket where files are stored.
‑‑accessKeyKey for accessing the S3 file storage.
‑‑secretKeySecret key for accessing the S3 file storage.
‑‑endpointUrlS3 address for storing files. For AWS S3, you can specify the region name, for example, eu-west-2. For other storage options, you need to specify the server address.
‑‑storageTypeOptional parameter, type of storage. Options supported are: Aws, MinIo.

To use the MinIO storage running on the same host as the Pyrus Datacenter installation, in addition to the command described above, start MinIO and create a bucket for files in the storage using the following commands:

$ docker-compose up -d minio
$ docker-compose run --rm pyrus-setup --cb

Installing a license and domain name

  • To start Pyrus, install the application license using the following command:
$ docker-compose run --rm pyrus-setup --setup -id 100000 -v [YOUR_LICENSE]
# [YOUR_LICENSE] - the license text that you received
# from your account manager.
# For example: docker-compose run --rm pyrus-setup --setup -id 100000 -v aHR0cHM6Ly9weXJ1cy5jb20vcnUvam9icw==
  • Then, configure the main application domain:
$ docker-compose run --rm pyrus-setup --setup -id 100001 -v [YOUR_HOSTNAME]
# [YOUR_HOSTNAME] - your domain name, through which your
# users will access the system.
# For example: docker-compose run --rm pyrus-setup --setup -id 100001 -v pyrus.yourdomain.org

A complete list of configuration parameters is available in the corresponding section.

Running containers in production mode

Start the system with the command:

$ docker-compose up -d

Wait for all containers to start.

Checking the current platform version

Run the command:

$ docker-compose run --rm pyrus-setup --version

Was this article helpful?