PortValhalla/scripts/Common/Software/docker/services/trackmania/docker-compose.base.yml

72 lines
1.7 KiB
YAML

services:
game:
build:
context: .
dockerfile: trackmania.Dockerfile
restart: unless-stopped
extends:
file: docker-compose.core.yml
service: tm
stdin_open: true
environment:
TM_XMLRPC_ALLOWED_REMOTE: xaseco
volumes:
- ./data/tm/data:/app/GameData
healthcheck:
test: [CMD, bash, -c, echo '' >/dev/tcp/127.0.0.1/5000]
start_period: 1m
start_interval: 10s
interval: 5s
timeout: 3s
retries: 5
downloader:
extends:
file: docker-compose.core.yml
service: xaseco-installer
volumes:
- ./initdb.d:/cache/localdb
healthcheck:
test: [CMD, bash, -c, ls /cache/localdb/*]
start_period: 1m
start_interval: 10s
interval: 5s
timeout: 3s
retries: 5
xaseco:
restart: unless-stopped
extends:
file: docker-compose.core.yml
service: xaseco
depends_on:
game:
condition: service_healthy
db:
condition: service_healthy
environment:
TM_SERVER_HOST: game
MYSQL_HOST: db
volumes:
- ./data/xaseco:/data
db:
image: mysql:5
restart: unless-stopped
extends:
file: docker-compose.core.yml
service: db
depends_on:
downloader:
condition: service_completed_successfully
command: --sql_mode=""
environment:
MYSQL_RANDOM_ROOT_PASSWORD: "yes"
volumes:
- ./data/db:/var/lib/mysql
- ./initdb.d:/docker-entrypoint-initdb.d
healthcheck:
test: [CMD, bash, -c, mysqladmin ping -hlocalhost -u "$$MYSQL_USER" -p"$$MYSQL_PASSWORD"]
timeout: 20s
retries: 10
volumes:
tm-server: {}
xaseco: {}