Installing the platform on the server
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
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
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
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
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
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
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
‑‑bucket | Name of the S3 bucket where files are stored. |
‑‑accessKey | Key for accessing the S3 file storage. |
‑‑secretKey | Secret key for accessing the S3 file storage. |
‑‑endpointUrl | S3 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. |
‑‑storageType | Optional 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