As previously mentioned, the FreshmanRPG is a complex project. There are multiple maps in the game, with each map getting its own server. Previously, we only ran those servers through IntelliJ, which was good enough at the time, but not the best solution for running the servers long-term.
---
To fix this issue each server is currently being ran inside of it's own Docker container. A docker container is basically a lightweight virtual machine that runs linux. Using the docker compose plugin, we can manage the running containers with ease.
## Docker-compose File
In the file titled `dev-docker-compose.yml`, we have the configuration required to launch a MySQL server. The section below will explain what this configuration does:
```yaml
---
version: "3.9"
services:
frpg_mysql:
container_name: frpg_mysql
hostname: frpgmysql
restart: unless-stopped
build:
context: ./database
cap_add:
- SYS_NICE
environment:
MYSQL_ALLOW_EMPTY_PASSWORD: "yes"
volumes:
- /Scratch/.frpg/mysql:/var/lib/mysql # Mounts the first directory inside the container at the second directory