services: postgres: image: docker.m.daocloud.io/library/postgres:16-alpine container_name: celestia-postgres restart: unless-stopped environment: POSTGRES_USER: ${DB_USER:-celestia} POSTGRES_PASSWORD: ${DB_PASSWORD:-celestia_secret} POSTGRES_DB: ${DB_NAME:-celestia_trace} volumes: - pgdata:/var/lib/postgresql/data ports: - "5433:5432" healthcheck: test: ["CMD-SHELL", "pg_isready -U ${DB_USER:-celestia} -d ${DB_NAME:-celestia_trace}"] interval: 5s timeout: 5s retries: 5 backend: build: . container_name: celestia-backend restart: unless-stopped depends_on: postgres: condition: service_healthy environment: DB_HOST: postgres DB_PORT: 5432 DB_USER: ${DB_USER:-celestia} DB_PASSWORD: ${DB_PASSWORD:-celestia_secret} DB_NAME: ${DB_NAME:-celestia_trace} JWT_SECRET: ${JWT_SECRET:-change-me-in-production} SERVER_PORT: 8080 GIN_MODE: release ports: - "8080:8080" volumes: pgdata: