Files
Bubberstation/tools/DockerTestServer/docker-compose.yml
SkyratBot c7a10d6d35 [MIRROR] Add a simple docker-compose setup into tools [MDB IGNORE] (#13621)
* Add a simple docker-compose setup into tools (#66932)

About The Pull Request

Because I noticed overtime that I kept using my docker-compose.yml setup for spinning up small servers to try features on or mess around on in general.

I thought I'd polish it a bit and add it into the tools/ directory for others to use as well. Not sure if it will be useful for anyone other than myself but hey! Might as well share this.

Please note, this is my first PR, feel free to give critique where critique is due. Or let me know if this is an absolute dogshit PR, that is welcome too, go wild.

Note: Priority of overrides is as following (1 taking highest priority and the rest is lower priority)

    Environment variable overrides
    Override files in the gamecfg/ folder
    Default configuration found under /config

Why It's Good For The Game

Mainly good for developers or people who want to spin up their own server to try stuff on, I was personally missing something like this in the repository and think others might be able to use it to rapidly spin up their own server in a container using the provided Dockerfile in the main repository.

* Add a simple docker-compose setup into tools

Co-authored-by: Melli <75690100+mel-byond@users.noreply.github.com>
2022-05-15 11:59:46 -07:00

57 lines
1.6 KiB
YAML

version: '3.9'
services:
# /tg/ DM server
dreammaker:
image: tgstation:latest
restart: unless-stopped
build:
context: ../../
dockerfile: Dockerfile
entrypoint: bash /entrypoint.sh
env_file:
- .env
ports:
- "1337:1337"
depends_on:
- db
volumes:
- ./entrypoint.sh:/entrypoint.sh:ro #
- ../../config:/gamecfg_ro:ro # Contains the default configuration, as defined in config/
- ./gamecfg:/gamecfg:ro # Contains the override config files, entrypoint.sh overrides using these
- gamedata:/tgstation/data # Contains the game data, contained nicely in a volume
# MariaDB/MySQL database: game
# (if you don't really need this, feel free to remove this section.)
db:
image: mariadb
restart: unless-stopped
environment:
- MYSQL_RANDOM_ROOT_PASSWORD=yes
- MYSQL_DATABASE=tgstation
- MYSQL_USER=gamelord
- MYSQL_PASSWORD=gamelord
volumes:
- ../../SQL/tgstation_schema.sql:/docker-entrypoint-initdb.d/tgstation_schema.sql:ro
- database:/var/lib/mysql
# Adminer, for managing the DB, has the 'donotstart' profile attached by default. Remove this line if this is needed
adminer:
image: wodby/adminer
depends_on:
- db
environment:
ADMINER_DEFAULT_DB_DRIVER: mysql
ADMINER_DEFAULT_DB_HOST: db
ADMINER_DEFAULT_DB_NAME: tgstation
ADMINER_DESIGN: nette
ADMINER_PLUGINS: tables-filter tinymce
ports:
- 9000:9000
profiles:
- donotstart # <--- Remove this line if this service is needed.
volumes:
gamedata:
database: