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.
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, 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
Request and install a free SSL certificate from Let’s Encrypt. The certificate will be placed under
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.
Install Docker on the server if it’s not installed already.
sudo apt update && sudo apt install -y curl && curl -fsSL https://get.docker.com | sudo sh
curl -fsSL https://get.docker.com | sudo sh
Make sure Docker is running and starts automatically when the server is restarted:
sudo systemctl enable --now docker
Create an A or CNAME record that points to the IP address of the server (e.g. panel.yourdomain.com –> 220.127.116.11) and wait for it to propagate.
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.
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.
Create a new database by running the following command in your MySQL/MariaDB client:
CREATE DATABASE database_name_here;
Create a user and grant the user access to the database. The following command grants all privileges to a user that can connect from any IP address if your database server accepts remote connections. You may want to limit the privileges or IP addresses that can connect.
Note: If you limit the IP addresses and you use a database server installed on the same server (a local connection),
make sure to use the internal IP address of the master Docker container (“gametron-master”) instead of localhost or
127.0.0.1 as the database host address in the command below. You can find the IP address with the
docker container inspect gametron-master command. The master runs inside a Docker container and therefore
whitelisting localhost and 127.0.0.1 will not grant the master access to the database.
GRANT ALL PRIVILEGES ON database_name_here.* TO 'user_name_here'@'%' IDENTIFIED BY 'password_here';
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.
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.