2023-04-25 17:41:15 +03:00
version : "3.7"
2023-03-17 10:02:35 +03:00
services :
redis :
image : redis:7
restart : always
# ports:
# - 6379:6379
postgres :
image : postgres:15
restart : always
volumes :
- db_data:/var/lib/postgresql/data
environment :
POSTGRES_PASSWORD : postgrespassword
hasura :
2024-03-24 19:11:35 +03:00
image : hasura/graphql-engine:v2.38.0
2023-03-17 10:02:35 +03:00
restart : always
ports :
- 8080 : 8080
environment :
## Add your license key below
2023-04-25 17:41:15 +03:00
# HASURA_GRAPHQL_EE_LICENSE_KEY: ""
2023-03-17 10:02:35 +03:00
HASURA_GRAPHQL_ADMIN_SECRET : myadminsecretkey
## The metadata database for this Hasura GraphQL project. Can be changed to a managed postgres instance
HASURA_GRAPHQL_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
2023-04-25 17:41:15 +03:00
HASURA_GRAPHQL_ENABLE_CONSOLE : "true"
2023-03-17 10:02:35 +03:00
## 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
2023-04-25 17:41:15 +03:00
HASURA_GRAPHQL_DEV_MODE : "true"
2023-03-17 10:02:35 +03:00
# HASURA_GRAPHQL_LOG_LEVEL: debug
2023-05-05 13:52:11 +03:00
## enable offline console assets if you wish to access console without internet connectivity
# HASURA_GRAPHQL_CONSOLE_ASSETS_DIR: "/srv/console-assets"
2023-03-17 10:02:35 +03:00
HASURA_GRAPHQL_REDIS_URL : redis://redis:6379
2023-04-25 17:41:15 +03:00
HASURA_GRAPHQL_RATE_LIMIT_REDIS_URL : "redis://redis:6379"
HASURA_GRAPHQL_MAX_CACHE_SIZE : "200"
2023-04-07 04:35:40 +03:00
# Configures the connection to the Data Connector agent for Oracle by default
2023-03-17 10:02:35 +03:00
# You can also omit this and manually configure the same thing via the 'Data' tab, then 'Add Agent'
# in the Hasura console
HASURA_GRAPHQL_METADATA_DEFAULTS : '{"backend_configs":{"dataconnector":{"oracle":{"uri":"http://data-connector-agent:8081/api/v1/oracle"}}}}'
depends_on :
data-connector-agent :
condition : service_healthy
data-connector-agent :
2024-03-24 19:11:35 +03:00
image : hasura/graphql-data-connector:v2.38.0
2023-03-17 10:02:35 +03:00
restart : always
ports :
- 8081 : 8081
environment :
QUARKUS_LOG_LEVEL : ERROR # FATAL, ERROR, WARN, INFO, DEBUG, TRACE
## https://quarkus.io/guides/opentelemetry#configuration-reference
2023-04-25 17:41:15 +03:00
QUARKUS_OPENTELEMETRY_ENABLED : "false"
2023-03-17 10:02:35 +03:00
## QUARKUS_OPENTELEMETRY_TRACER_EXPORTER_OTLP_ENDPOINT: http://jaeger:4317
healthcheck :
2023-04-07 04:35:40 +03:00
test : [ "CMD" , "curl" , "-f" , "http://localhost:8081/api/v1/oracle/health" ]
2023-03-17 10:02:35 +03:00
interval : 5s
timeout : 10s
retries : 5
start_period : 5s
# NOTE: this oracle docker image does not work on apple silicon. Please see subsection "Oracle XE on Apple M chips" here https://hub.docker.com/r/gvenzl/oracle-xe.
database :
image : gvenzl/oracle-xe:21.3.0-slim
restart : always
environment :
- ORACLE_PASSWORD=pass
- ORACLE_DATABASE=example
volumes :
db_data :