services: michess: image: git.mischlabs.de/mrdiderot/michess:latest container_name: michess restart: unless-stopped environment: NODE_ENV: production PGHOST: db PGPORT: 5432 PGDATABASE: ${POSTGRES_DB:-michess} PGUSER: ${POSTGRES_USER:-michess} PGPASSWORD: ${POSTGRES_PASSWORD:-changeme} PORT: 3001 SESSION_SECRET: ${SESSION_SECRET:-change-this-secret-in-production} CORS_ORIGIN: ${CORS_ORIGIN:-https://michess.mischlabs.de} ADMIN_EMAIL: ${ADMIN_EMAIL:-} APP_DIR: /opt/michess SSO_AUTHORITY: ${SSO_AUTHORITY:-} SSO_CLIENT_ID: ${SSO_CLIENT_ID:-} SSO_CLIENT_SECRET: ${SSO_CLIENT_SECRET:-} SSO_REDIRECT_URI: ${SSO_REDIRECT_URI:-} APP_URL: ${APP_URL:-} ports: - "${MICHESS_PORT:-3000}:3000" - "${MICHESS_API_PORT:-3001}:3001" depends_on: db: condition: service_healthy networks: - michess_net db: image: postgres:16-alpine container_name: michess_db restart: unless-stopped environment: POSTGRES_DB: ${POSTGRES_DB:-michess} POSTGRES_USER: ${POSTGRES_USER:-michess} POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-changeme} volumes: - postgres_data:/var/lib/postgresql/data networks: - michess_net healthcheck: test: ["CMD-SHELL", "pg_isready -U ${POSTGRES_USER:-michess}"] interval: 5s timeout: 5s retries: 10 volumes: postgres_data: driver: local networks: michess_net: driver: bridge