ddon-server/docker-compose.psql.yml
2025-05-23 18:29:55 +02:00

70 lines
1.9 KiB
YAML

volumes:
ddon-server-psql-volume:
networks:
ddon-network:
services:
app:
container_name: ddon-server
build:
dockerfile: psql.Dockerfile
context: .
args:
- RUNTIME=${RUNTIME:-linux-x64}
restart: no
ports:
# Game server
- "52000:52000"
# Web server
- "52099:52099"
# Login server
- "52100:52100"
environment:
- DB_TYPE=postgresql
- DB_DATABASE=postgres
- DB_FOLDER=/var/ddon/server/Files/Database
- DB_HOST=db
- DB_USER=postgres
- DB_PASS=postgres
- DB_PORT=5432
- DB_WIPE_ON_STARTUP=false
- DB_BUFFER_SIZE=32768
- DB_NO_RESET_ON_CLOSE=true
- DB_ENABLE_TRACING=true
- DB_ENABLE_POOLING=true
- DB_MAX_AUTO_PREPARE=200
volumes:
- ./Arrowgene.Ddon.config.psql.local_dev.json:/var/ddon/server/Files/Arrowgene.Ddon.config.json:ro
- ./Arrowgene.Ddon.Shared/Files/Assets:/var/ddon/server/Files/Assets
- ./Arrowgene.Ddon.Scripts/scripts:/var/ddon/server/Files/Assets/scripts
networks:
- ddon-network
depends_on:
db:
condition: service_healthy
command: /var/ddon/server/Arrowgene.Ddon.Cli server --service start
db:
container_name: ddon-db
image: postgres:17
ports:
# Database
- "5432:5432"
restart: no
volumes:
- ddon-server-psql-volume:/var/lib/postgresql/data
- ./deploy/postgresql/postgresql.conf:/etc/postgresql/postgresql.conf:ro
networks:
- ddon-network
environment:
- POSTGRES_USER=postgres
- POSTGRES_PASSWORD=postgres
- POSTGRES_DB=postgres
- POSTGRES_INITDB_ARGS=--auth=scram-sha-256 --lc-numeric=en_US.UTF-8
command: postgres -c config_file=/etc/postgresql/postgresql.conf
healthcheck:
test: ["CMD-SHELL", "pg_isready", "-d", "postgres"]
interval: 10s
timeout: 1s
retries: 3