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