71 lines
1.6 KiB
YAML
71 lines
1.6 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:
|
|
xaseco: {}
|