services: redis: image: redis:latest restart: always ports: - "6379:6379" postgres: image: postgres:15 restart: always ports: - "5432:5432" volumes: - db_data:/var/lib/postgresql/data environment: POSTGRES_PASSWORD: postgrespassword graphql-engine: image: hasura/graphql-engine:v2.43.0 ports: - "8080:8080" restart: always environment: ## add your license key below # HASURA_GRAPHQL_EE_LICENSE_KEY: "" HASURA_GRAPHQL_ADMIN_SECRET: myadminsecretkey ## The metadata database for this Hasura GraphQL project. Can be changed to a managed postgres instance HASURA_GRAPHQL_METADATA_DATABASE_URL: postgres://postgres:postgrespassword@postgres:5432/postgres # HASURA_GRAPHQL_READ_REPLICA_URLS: postgres://postgres:postgrespassword@postgres:5432/postgres ## Optional settings: ## enable the console served by server HASURA_GRAPHQL_ENABLE_CONSOLE: "true" ## enable required apis; metrics api exposes a prometheus endpoint, uncomment to enable # HASURA_GRAPHQL_ENABLED_APIS: "graphql,metadata,config,developer,pgdump,metrics" ## secure metrics endpoint with a secret, uncomment to enable # HASURA_GRAPHQL_METRICS_SECRET: "secret" ## enable debugging mode. It is recommended to disable this in production HASURA_GRAPHQL_DEV_MODE: "true" # HASURA_GRAPHQL_LOG_LEVEL: debug ## enable offline console assets if you wish to access console without internet connectivity # HASURA_GRAPHQL_CONSOLE_ASSETS_DIR: '/srv/console-assets' HASURA_GRAPHQL_REDIS_URL: "redis://redis:6379" HASURA_GRAPHQL_RATE_LIMIT_REDIS_URL: "redis://redis:6379" HASURA_GRAPHQL_MAX_CACHE_SIZE: "200" HASURA_GRAPHQL_METADATA_DEFAULTS: '{"backend_configs":{"dataconnector":{"athena":{"uri":"http://data-connector-agent:8081/api/v1/athena"},"mariadb":{"uri":"http://data-connector-agent:8081/api/v1/mariadb"},"mysql8":{"uri":"http://data-connector-agent:8081/api/v1/mysql"},"oracle":{"uri":"http://data-connector-agent:8081/api/v1/oracle"},"snowflake":{"uri":"http://data-connector-agent:8081/api/v1/snowflake"}}}}' depends_on: data-connector-agent: condition: service_healthy data-connector-agent: image: hasura/graphql-data-connector:v2.43.0 restart: always ports: - 8081:8081 environment: QUARKUS_LOG_LEVEL: ERROR # FATAL, ERROR, WARN, INFO, DEBUG, TRACE ## https://quarkus.io/guides/opentelemetry#configuration-reference QUARKUS_OPENTELEMETRY_ENABLED: "false" ## QUARKUS_OPENTELEMETRY_TRACER_EXPORTER_OTLP_ENDPOINT: http://jaeger:4317 healthcheck: test: ["CMD", "curl", "-f", "http://localhost:8081/api/v1/athena/health"] interval: 5s timeout: 10s retries: 5 start_period: 5s volumes: db_data: