Installation - Master

Installer

Our goal has been to make installing Gametron as simple as possible. We have created an interactive installer that handles the whole installation process automatically by asking questions when more information is needed.

All you need to get started is a server with Docker installed.

If you are new to Gametron and are looking for a complete step-by-step installation and setup guide that covers more than just installing Gametron, have a look at Complete Setup Guide.

Pre-requirements

  • A server with Ubuntu 16.04 or CentOS 7¹ or newer. Ubuntu 20.04 is recommended.

Other distributions may work but are officially unsupported. It is recommended to use an officially supported distribution and version.

It is recommended to install the master on a newly installed server and run all slaves on separate servers. However, it is possible to install both the master and slave on a single server.

¹ SELinux must be set to permissive or disabled on CentOS.

Before you get started

Before you get started, review these changes the installer will make to your server.

When you run the installer, it will…

  • Generate all required configuration files under /var/lib/gametron based on your answers to the questions the installer asks.

  • Request and install a free SSL certificate from Let’s Encrypt. The certificate will be placed under /etc/letsencrypt.

  • Set up a Docker container (“gametron-master”) for Gametron master. The container includes everything needed for the master to run, including Nginx, PHP, ionCube and Composer.

  • Set up a Docker container (“gametron-mysql”) that contains the database for Gametron master (if you choose to set up a database automatically).

  • Set up a Docker container (“gametron-certbot”) to help with SSL certificate renewal when renewal is due.

  • Set up a Docker container (“gametron-watchtower”) to watch for updates to Gametron master. Once an update is released, the master will automatically be updated to the latest version.

Installation

  1. Install Docker on the server if it’s not installed already.

    Click to expand instructions.
  2. Create an A or CNAME record that points to the IP address of the server (e.g. panel.yourdomain.com –> 1.2.3.4) and wait for it to propagate.

  3. Make sure no web server is listening on port 80 during installation. Let’s Encrypt is unable to issue a certificate for your server if port 80 is occupied.

  4. If you want to set up a database automatically (recommended), you can skip this step. Create a MySQL (5.7.7 or newer) or MariaDB (10.2.2 or newer) database and a user with access to it. The credentials to this database will be asked when you run the interactive installer.

    Click to expand instructions.
  5. Run the following command to start the interactive installer. The installer will guide you through the rest of the setup process.

Installation can be safely canceled at any time. However, note that running the installer again will overwrite the choices you have made during previous installation. Servers or other data stored by the master will not be affected by reinstalling. If you want to start the installation from the beginning, you can simply run the installer again.

wget https://downloads.gametron.io/installer/gametron-installer -O gametron-installer && chmod +x gametron-installer && sudo ./gametron-installer && rm -f gametron-installer

When the installation is finished, navigate to the URL given by the installer to finish installation. If the page does not open or you encounter any other issues, have a look at the common issues below.

Common Issues

If you are having issues with the installation process, have a look at the common issues and solutions to them below. You can always rerun the installer to start over with a fresh installation without losing any data already stored by Gametron (except the data you enter during the installation process, which will be overwritten).

You should also have a look at the list of currently known issues for any issues related to installing the master.

The page for finishing the installation does not load

Have a look at the logs with docker container logs gametron-master for more information. If you chose to set up a database manually, most likely the database setup has failed because of a connection issue or insufficient permissions to access the database with the credentials you entered during installation. If you use a database server installed on the same server (a local connection), make sure to use the internal IP address of the server instead of localhost or 127.0.0.1 as the database host address. You can find the address with the ip a or ifconfig commands. The database setup will continue automatically in the background once these issues have been solved, and the final installation page can be opened when it’s done. This should take less than 15 seconds, and you can monitor the process by checking the logs of the master.

It is also possible that issuing an SSL certificate has failed if a DNS record was not pointed to the server during installation. In this case, set up an A or CNAME record to point to the server and rerun the installer. To check if the certificate has been created successfully, check the contents of /var/lib/gametron/master/certs. It should have files fullchain.pem and privkey.pem.

My issue is not listed or I was not able to solve my issue with the steps above

If the above steps did not solve the issue you are having, please contact us and we will be happy to help you get Gametron up and running on your server.