version: '3' services: db: container_name: pg_graphql_db build: context: . dockerfile: ./dockerfiles/db/Dockerfile volumes: - ./dockerfiles/db/setup.sql:/docker-entrypoint-initdb.d/setup.sql ports: - 5404:5432 command: - postgres - -c - wal_level=logical - -c - shared_preload_libraries=pg_stat_statements healthcheck: test: ["CMD-SHELL", "PGUSER=postgres", "pg_isready"] interval: 1s timeout: 10s retries: 5 environment: POSTGRES_USER: postgres POSTGRES_PASSWORD: password POSTGRES_DB: gqldb rest: container_name: pg_graphql_postgrest image: postgrest/postgrest:v8.0.0.20211102 restart: unless-stopped ports: - 3000:3000 depends_on: - db environment: PGRST_DB_URI: postgres://postgres:password@db:5432/gqldb PGRST_DB_SCHEMA: public, gql PGRST_DB_ANON_ROLE: postgres graphiql: container_name: graphiql build: context: ./dockerfiles/graphiql ports: - 4000:8000 depends_on: - rest