Docker Compose Installation Guide

Installing the software

Requirements

Docker Engine 17.09.0+
Docker Compose 1.17.0+

Contents

    .env - configuration file
    docker-compose.yml - Docker Compose configuration file
    docker-compose.elk.yml - Docker Compose configuration file with Elasticsearch, Logstash, Kibana;
    backup.sh - backup initiation script
    restore.sh - backup restore script
    images.tar.gz - Docker images archive (available in the offline installation archive only)

Preparation

Before installation, you need to change the default values and secrets in the .env file. For Jira integration to work correctly, you need to set the FRONTEND_URL variable in the .env file
Set the parameters vm.max_map_count=262144 and vm.overcommit_memory=1:
1
echo 'vm.max_map_count=262144' >> /etc/sysctl.conf
2
echo 'vm.overcommit_memory = 1' >> /etc/sysctl.conf
3
sysctl -p
Copied!
For security reasons, we recommend blocking all incoming ports other than port 80 from accessing the user interface. Optionally, in order to service the system via ssh, open port 22 (it can be reassigned to a specific configuration). If you use HTTPS, open port 443.
Example for CentOS7 (will allow access to ports 80 and 22):
1
firewall-cmd --zone=public --add-port=80/tcp --permanent
2
firewall-cmd --zone=public --add-port=22/tcp --permanent
3
firewall-cmd --zone=public --add-port=443/tcp --permanent
4
firewall-cmd --reload
Copied!
In previous versions, logging of user actions in Elasticsearch was used. Starting from version 3.0 this feature is disabled by default. Refer to Logging custom actions if you'd like to use this feature.

Offline installation

This type of installation will help you install the product if the server is isolated from the internet and it is not possible to get a Docker image from public repositories. The distribution is available on the download page. Unzip the contents of the offline installation archive to a folder, e.g. ~/testit.
If you are using Docker Compose version 1.20.0 or later, do the following:
1
cd ~/testit
2
docker load -i images.tar.gz
3
docker-compose -f docker-compose.yml --project-name prod up --detach --timeout 120
Copied!
If you are using Docker Compose version 1.17.0-1.19.0, do the following:
1
cd ~/testit
2
docker load -i images.tar.gz
3
docker-compose -f docker-compose.yml --project-name prod up -d
Copied!

Online installation

Download online installation files from the download page. Unzip the contents of the online installation archive to a folder, e.g. ~/testit.
If you are using Docker Compose version 1.20.0 or later, do the following:
1
cd ~/testit
2
docker-compose -f docker-compose.yml --project-name prod up --detach --timeout 120
Copied!
If you are using Docker Compose version 1.17.0-1.19.0, do the following:
1
cd ~/testit
2
docker-compose -f docker-compose.yml --project-name prod up -d
Copied!

Creating backups

The product will be paused while a backup is being created. Do not create backups using sudo.
To create a backup, do the following:
1
chmod +x scripts/backup.sh
2
scripts/backup.sh docker-compose.yml prod
Copied!
The system will start once the process is complete. A backup archive will be created in the working directory. The format of the archive filename is backup_{day}_{month}_{year}.tar. e.g. backup_21_05_2019.tar.
The script described above does not apply to external databases (in case you configure and use them). For external databases, configure the backup process in a separate step (using standard PostgreSQL tools).

Restoring from a backup

The product will be paused while restoring from a backup. To restore from a backup, do the following:
1
chmod +x scripts/restore.sh
2
scripts/restore.sh docker-compose.yml prod backup_21_05_2019.tar
Copied!
The system will start once the process is complete.
If you move Test IT to a different server, make sure to install the product on a new server with default settings and then restore data from a backup. In order to provide a better compatibility, install the same version of Test IT that is contained in a backup of the initial version.

Restarting the system

Use the following command to restart the system:
1
docker-compose -f docker-compose.yml --project-name prod restart --timeout 120
Copied!

Full data cleaning

If you want to save information from TestIT for later use, run the command without the --volumes flag:
docker-compose -f docker-compose.yml --project-name prod down --timeout 120
To fully delete the system and its data, do the following:
1
docker-compose -f docker-compose.yml --project-name prod down --volumes --timeout 120
Copied!

System requirements

The product can be installed on a virtual machine.

Minimum requirements

Client-side

    Browser: Chrome 69+, Firefox 62+
    CPU: I3, 2 cores, 1 GHz or higher
    GPU: Intel HD Graphics 520/550/620 or above
    RAM: 4 GB
    HDD/SSD: minimum 4 GB of free disk space
    Net: 100 Mbit/s.

Server-side

    CPU: 4 server-class cores with virtualization support, 2.2 GHz or higher
    RAM: 8 GB
    SWAP: Disabled
    HDD/SSD: minimum 100 GB
    Net: 100 Mbit/s

Server-side

    CPU: 8 server-class cores with virtualization support, 2.2 GHz or higher
    RAM: 12 GB
    SWAP: Disabled
    Net: 1 Gbit/s
    HDD/SSD: minimum 100 GB, preferably using at least RAID-1

Optimal requirements

Server-side

    CPU: 12 server-class cores with virtualization support, 2.2 GHz or higher
    RAM: 24 GB
    SWAP: Disabled
    Net: 1 Gbit/s
    HDD / SSD: minimum 300 GB, preferably using at least RAID-1
Last modified 10d ago