services: postgres: build: . container_name: postgretls-db restart: unless-stopped environment: POSTGRES_DB: ploughgres POSTGRES_USER: ploughgres_user POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-change_me_in_production} # Enable SSL/TLS POSTGRES_INITDB_ARGS: "--auth-local=password --auth-host=scram-sha-256" # Enable fallback for local development ENABLE_FALLBACK_SSL: "true" ports: - "5432:5432" volumes: - postgretls_data:/var/lib/postgresql/data - postgretls_logs:/var/log/postgresql - ./secrets:/run/secrets:ro healthcheck: test: ["CMD-SHELL", "pg_isready -U ploughgres_user -d ploughgres"] interval: 10s timeout: 5s retries: 5 networks: - postgretls-network volumes: postgretls_data: postgretls_logs: networks: postgretls-network: driver: bridge