Skip to content

Manual installation

Deployment of the system consists of several steps. They are numbered for ease of verification. Perform all steps one by one.

1. Preparing the environment

To run and run the system, you need a Docker container in which to load the image with all the necessary dependencies. Therefore, the first thing you must do is install the docker and docker-compose packages and unzip on the virtual machine:

sudo apt -y update && apt install docker.io docker-compose unzip

2. Downloading an image

Next, create a directory /opt/getscreen, in which the system image will be downloaded and unpacked. Run the following commands:

sudo docker login updater.getscreen.me:5000

Authorization

When prompted for username and password, enter the data obtained when purchasing the license.

sudo mkdir -p /opt/getscreen
sudo chown $USER /opt/getscreen
cd /opt/getscreen
wget --user=<login> --ask-password https://updater.getscreen.me:5000/install/getscreen.zip
unzip getscreen.zip

Authorization

Instead of <login>, specify the login provided when purchasing the license. When prompted for password when executing the wget command, specify the password you received when you purchased the license.

3. Obtaining a certificate

A self-signed SSL certificate is included in the standard delivery of the system. It can be found in the following files:

Path Description
/opt/getscreen/cert/server.crt file in PEM format with a certificate (or a chain of certificates)
/opt/getscreen/cert/server.key file in PEM format with a private key

To ensure that browsers do not generate warnings about insecure connections, you must obtain a full-fledged certificate. This can be purchased from a certificate authority, or allocated for free from Let's Encrypt .

3.1 Obtaining a Let's Encrypt certificate

Run the following commands, replacing <hostname> with your domain name. During execution, follow the instructions the system gives you. Access to your domain's DNS server will be required.

sudo apt -y install certbot
sudo certbot certonly --standalone -d <hostname>

After completing all the actions, the files of the obtained certificate will lie in the following directories:

Path Description
/etc/letsencrypt/live/<hostname>/fullchain.pem certificate with full chain of certifications
/etc/letsencrypt/live/<hostname>/privkey.pem private key

Copy these files to the /opt/getscreen/cert/ directory by running the following commands:

sudo cp --copy-contents /etc/letsencrypt/live/<hostname>/fullchain.pem /opt/getscreen/cert/server.crt
sudo cp --copy-contents /etc/letsencrypt/live/<hostname>/privkey.pem /opt/getscreen/cert/server.key

4. Setup configurations

4.1 Password to the database

Think of and specify your database password in the docker-compose.yml, server/config.json, download/config.json and download/config.json files.

Random string generator

You can use online generator to generate your password.

You need to replace the line changeme-sql-pass with your password.

In the file docker-compose.yml:

#########################################################
# Database server
#########################################################

db:
image: docker.io/postgres:14
container_name: getscreen-db
restart: always
environment:
    - POSTGRES_DB=getscreen
    - POSTGRES_USER=getscreen
    - POSTGRES_PASSWORD=changeme-sql-pass
volumes:
    - ./db/data:/var/lib/postgresql/data
ports:
    - 127.0.0.1:5000:5432

In the file server/config.json:

    "sql": {
      "server": "127.0.0.1",
      "port": 5000,
      "user": "getscreen",
      "password": "changeme-sql-pass",
      "log": false
    },

In the file download/config.json:

    "sql": {
        "db": "getscreen",
        "host": "127.0.0.1",
        "user": "getscreen",
        "port": 5000,
        "ssl": false,
        "password": "changeme-sql-pass"
    },

4.2 IP address

Replace in server/config.json file all lines with IP addresses 11.22.33.44 with <your-ip>, where:

  • <your-ip> is the public IP address of your server.

4.3 Domain name

Replace all lines of getscreen.test with <your-domain> where <your-domain> is your domain name in the following files:

  • server/config.json.
  • download/config.json.
  • storage/config.json.

4.4 SMTP server

Specify your mail server settings in the mail section:

    "mail": {
        "user": "robot@getscreen.test",
        "password": "changeme-mail-password",
        "server": "smtp.mailserver.com",
        "port": 465,
        "email": "robot@getscreen.test"
    },

4.5. Tokens and keys for components

To pair all the components of the system with each other and with the main server, it is necessary to prescribe in their configurations the appropriate keys and tokens. For convenience, all the keys are collected in the table below. You need to replace the key identifier in the corresponding files with a value with a random set of characters of a given length.

Identifier Symbol length Files
changeme-server-token-48-characters 48 /server/config.json
/download/config.json
changeme-download-token-48-characters 48 /server/config.json
/download/config.json
changeme-turn-pass-16-characters 16 /server/config.json
/proxy/config.json
changeme-storage-key-32-characters 32 /server/config.json
/storage/config.json
changeme-storage-token-48-characters 48 /server/config.json
/storage/config.json
changeme-image-key-32-characters 32 /server/config.json
/storage/image.json
changeme-image-token-48-characters 48 /server/config.json
/storage/image.json

Random string generator

You can use online generator to generate keys.

5. Launching the system

To start the system, run the following commands:

cd /opt/getscreen
sudo docker-compose up -d

6. Error Checking

Check the main server and component logs for errors. The log files are stored in the following paths:

/opt/getscreen/server/log/*.log
/opt/getscreen/download/log/*.log
/opt/getscreen/image/log/*.log
/opt/getscreen/proxy/log/*.log
/opt/getscreen/storage/log/*.log

If there are errors, they will tell you the procedure to correct them.

7. Checking web server availability

Open your browser and go to https://<your-ip>, where:

  • <your-ip> is the public IP address of the server

The license activation page should open.

8. License Activation

After starting the system, the master web server will display the license activation page. Enter the license key that is supplied with the system and the domain name you selected for the server - the one for which you allocated the certificate in step 3.

After checking the key, the system will automatically put the license file in the path /opt/getscreen/server/license.lic and offer to restart the server. To restart, run the command:

sudo docker container restart getscreen-server

After restarting, your license will be activated and the web server will give you the login page by domain.

The default administrator account:

login: administrator
password: Getscreen

Be sure to change the password for the administrator account!

You can do this on the settings page in the profile tab .


Last update: March 26th, 2024