HOW TO START GAMEDASH USING DOCKER-COMPOSE HOW TO INSTALL Execute the following command to initiate the automatic installation sudo apt-get update && \ sudo apt-get -y install unzip curl && \ sudo curl https://download.gamedash.io/docker/install.zip -o install.zip && \ sudo unzip -o install.zip && \ sudo chmod +x install.sh && \ sudo rm install.zip && \ sudo bash install.sh HOW TO MANUALLY INSTALL 1) Make sure Docker and Docker-Compose are installed on your system. Instructions for most operating systems are avaialble online. 2) Modify the ".env" file in the root directory of the project. You should edit the following sections: a) Database - edit all sections with secure passwords b) Hostnames - these should be replaced with hostnames that have been set up to point at your server. You will need the following: - Frontend host - e.g. panel.gamedash.io - API host - e.g. api.panel.gamedash.io - Relay host - e.g. relay.panel.gamedash.io 3) Return to the base directory, and type the following command to start the main GameDash services: docker-compose up -d 4) Navigate to the frontend address that you've just set to continue the setup process HOW TO SET UP CLOUDFLARE 1) Rename docker-compose_ssl_cloudflare.yml to docker-compose.yml 2) Open the backend config file in ./config/backend and set the relay host API port to 2053 like so: "relay": { "host": { "socket": { "port": 443, "isSecure": true }, "api": { "port": 2053, "isSecure": true } } } 3) Add certificates for the relay, frontend and backend to the certs directory. You need both a .crt and .key file and must be named using the following pattern: *DOMAIN*.crt/key. Make sure these domains ARE NOT multi level if you're using the free Cloudflare plan 3.1) It's fine to use self signed certificates as they will only be used to secure communication between you and Cloudflare. Generate certificates for all the domains by executing the following command for each domain: openssl req -x509 -nodes -days 36500 -newkey rsa:2048 -keyout *DOMAIN*.key -out *DOMAIN*.crt 4) Restart all docker containers by executing docker-compose down && docker-compose up -d 5) Enable proxying on your domains via the Cloudflare control panel 6) Wait for the DNS changes to propagate HOW TO SETUP LET'S ENCRYPT The default docker-compose.yml file has Let's Encrypt already enabled. If you're getting a similar message to: gamedash_nginx-proxy | nginx.1 | 2020/06/30 16:35:19 [emerg] 28#28: invalid number of arguments in "upstream" directive in /etc/nginx/conf.d/default.conf:67 gamedash_nginx-proxy | nginx.1 | nginx: [emerg] invalid number of arguments in "upstream" directive in /etc/nginx/conf.d/default.conf:67 when monitoring the logs, prune the volumes as you are probably dealing with an out of date config that wasn't properly gotten rid of by executing the following command: docker volume prune HOW TO RE INSTALL 1) Delete the ./storage and ./db/data folder. 2) Restart all GameDash services using docker-compose down && docker-compose up -d