services: db: image: ghcr.io/supabase/postgres:15.8.1.085@sha256:af083ef64d0408c8f098ee6f5c364a59b26f36fbc0f3a334a62c5c1d57362e9b environment: # The image initializes its required roles as supabase_admin. Supplying # POSTGRES_USER overrides that bootstrap user and breaks its init scripts. POSTGRES_DB: ${POSTGRES_DB:?} POSTGRES_PASSWORD: ${POSTGRES_PASSWORD} ports: - "${PGPORT:?}:5432" healthcheck: test: ["CMD-SHELL", "pg_isready -U ${POSTGRES_USER} -d ${POSTGRES_DB}"] interval: 2s timeout: 2s retries: 30 postgrest: image: postgrest/postgrest:v12.2.12 depends_on: db: condition: service_healthy environment: PGRST_DB_URI: postgres://${POSTGRES_USER}:${POSTGRES_PASSWORD}@db:5432/${POSTGRES_DB} PGRST_DB_SCHEMAS: public PGRST_DB_ANON_ROLE: ${POSTGRES_USER} PGRST_SERVER_PORT: 3000 ports: - "${POSTGREST_PORT:?}:3000"