mirror of
https://github.com/hasura/graphql-engine.git
synced 2024-12-15 01:12:56 +03:00
721ea64cc0
<!-- The PR description should answer 2 important questions: --> ### What Running `docker compose up` is a generally accepted way to try a project out, and ours was broken. This fixes ours so that running `docker compose up` builds engine and runs it with a sample schema for `ndc-postgres`. This will allow users to get a flavour for DDN as a consumer. We also remove a bunch of outdated and frankly confusing stuff from the readme, instead directing users to the docs. V3_GIT_ORIGIN_REV_ID: 77c817d1738efafe4027c7d0da1aa21bcf78dd9d
115 lines
3.1 KiB
YAML
115 lines
3.1 KiB
YAML
# this Docker Compose file loads `v3-engine` along with an `ndc-postgres`
|
|
# connector and a sample `postgres` database
|
|
# run it with `docker compose up`, then access Graphiql at localhost:3000
|
|
# or view traces in Jaeger at localhost:4002
|
|
|
|
services:
|
|
engine:
|
|
build:
|
|
dockerfile: Dockerfile
|
|
environment:
|
|
- METADATA_PATH=app/docker_schema.json
|
|
- AUTHN_CONFIG_PATH=app/auth_config.json
|
|
- OTLP_ENDPOINT=http://jaeger:4317
|
|
ports:
|
|
- 3000:3000
|
|
depends_on:
|
|
jaeger:
|
|
condition: service_started
|
|
auth_hook:
|
|
condition: service_started
|
|
volumes:
|
|
- ./static/auth/auth_config.json:/app/auth_config.json
|
|
- ./static/docker_schema.json:/app/docker_schema.json
|
|
- ./crates/open-dds/examples/reference.json:/app/crates/open-dds/examples/reference.json
|
|
|
|
postgres:
|
|
image: postgis/postgis:16-3.4
|
|
platform: linux/amd64
|
|
restart: always
|
|
command:
|
|
- -F # turn fsync off for speed
|
|
- -N 1000 # increase max connections from 100 so we can run more HGEs
|
|
ports:
|
|
- 64001:5432
|
|
environment:
|
|
POSTGRES_PASSWORD: "password"
|
|
volumes:
|
|
- type: volume
|
|
source: postgres
|
|
target: /var/lib/postgresql/data
|
|
- type: bind
|
|
source: ./crates/engine/tests/db_definition.sql
|
|
target: /docker-entrypoint-initdb.d/01-db_definition.sql
|
|
read_only: true
|
|
- type: bind
|
|
source: ./crates/engine/tests/chinook-postgres.sql
|
|
target: /docker-entrypoint-initdb.d/02-chinook.sql
|
|
read_only: true
|
|
- type: bind
|
|
source: ./crates/engine/tests/finish.sql
|
|
target: /docker-entrypoint-initdb.d/03-finish.sql
|
|
read_only: true
|
|
healthcheck:
|
|
test:
|
|
- CMD-SHELL
|
|
- psql -U "$${POSTGRES_USER:-postgres}" finished < /dev/null
|
|
start_period: 2s
|
|
interval: 2s
|
|
timeout: 1s
|
|
retries: 5
|
|
|
|
auth_hook:
|
|
build:
|
|
dockerfile: dev-auth-webhook.Dockerfile
|
|
environment:
|
|
OTLP_ENDPOINT: "http://jaeger:4317"
|
|
RUST_LOG: debug
|
|
ports:
|
|
- "3050:3050"
|
|
depends_on:
|
|
jaeger:
|
|
condition: service_started
|
|
|
|
jaeger:
|
|
image: jaegertracing/all-in-one:1.55
|
|
restart: always
|
|
ports:
|
|
- 5775:5775/udp
|
|
- 6831:6831/udp
|
|
- 6832:6832/udp
|
|
- 5778:5778
|
|
- 4002:16686
|
|
- 14250:14250
|
|
- 14268:14268
|
|
- 14269:14269
|
|
- 4317:4317 # OTLP gRPC
|
|
- 4318:4318 # OTLP HTTP
|
|
- 9411:9411
|
|
environment:
|
|
COLLECTOR_OTLP_ENABLED: "true"
|
|
COLLECTOR_ZIPKIN_HOST_PORT: "9411"
|
|
|
|
postgres_connector:
|
|
image: ghcr.io/hasura/ndc-postgres:latest
|
|
ports:
|
|
- 8080:8080
|
|
environment:
|
|
CONNECTION_URI: "postgresql://postgres:password@postgres"
|
|
OTEL_EXPORTER_OTLP_TRACES_ENDPOINT: "http://jaeger:4317"
|
|
OTEL_SERVICE_NAME: "ndc-postgres"
|
|
RUST_LOG: info
|
|
volumes:
|
|
- type: bind
|
|
source: ./crates/engine/tests/ndc-postgres-configuration
|
|
target: /etc/connector
|
|
read_only: true
|
|
depends_on:
|
|
postgres:
|
|
condition: service_healthy
|
|
jaeger:
|
|
condition: service_started
|
|
|
|
volumes:
|
|
postgres:
|