services: db: image: postgres:16 environment: POSTGRES_DB: ${POSTGRES_DB} POSTGRES_USER: ${POSTGRES_USER} POSTGRES_PASSWORD: ${POSTGRES_PASSWORD} volumes: [pgdata:/var/lib/postgresql/data] ports: ["127.0.0.1:${DB_HOST_PORT}:5432"] healthcheck: test: ["CMD-SHELL", "pg_isready -U ${POSTGRES_USER} -d ${POSTGRES_DB}"] interval: 3s retries: 20 app: build: . depends_on: db: {condition: service_healthy} environment: DATABASE_URL: postgresql+psycopg://${POSTGRES_USER}:${POSTGRES_PASSWORD}@db:5432/${POSTGRES_DB} JWT_SECRET: ${JWT_SECRET} ADMIN_USERNAME: ${ADMIN_USERNAME} ADMIN_PASSWORD: ${ADMIN_PASSWORD} TRUSTED_PROXIES: ${TRUSTED_PROXIES:-} ports: ["0.0.0.0:${APP_PORT}:8000"] volumes: pgdata: