add stack hasura

This commit is contained in:
Yann Autissier
2025-08-08 15:06:42 +02:00
parent 98f479e455
commit d20aae97c1
4 changed files with 78 additions and 0 deletions
+25
View File
@@ -0,0 +1,25 @@
services:
graphql-engine:
depends_on:
data-connector-agent:
condition: service_healthy
environment:
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"}}}}'
data-connector-agent:
image: hasura/graphql-data-connector:v2.46.0
restart: always
ports:
- 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
networks:
- private
+4
View File
@@ -0,0 +1,4 @@
ENV_VARS += HASURA_GRAPHQL_ENGINE_SERVICE_8080_TAGS
hasura := hasura/hasura hasura/postgres
HASURA_GRAPHQL_ENGINE_SERVICE_8080_NAME := hasura
HASURA_GRAPHQL_ENGINE_SERVICE_8080_TAGS := $(call tagprefix,hasura_graphql_engine,8080)
+26
View File
@@ -0,0 +1,26 @@
services:
graphql-engine:
image: hasura/graphql-engine:v2.46.0
ports:
- 8080
restart: always
environment:
## postgres database to store Hasura metadata
HASURA_GRAPHQL_METADATA_DATABASE_URL: ${HASURA_GRAPHQL_METADATA_DATABASE_URL:-postgres://${HASURA_POSTGRES_USER:-${POSTGRES_USER:-postgres}}:${HASURA_POSTGRES_PASSWORD:-${POSTGRES_PASSWORD:-postgres}}@postgres:5432/${HASURA_POSTGRES_DB:-${POSTGRES_DB:-postgres}}}
## this env var can be used to add the above postgres database to Hasura as a data source. this can be removed/updated based on your needs
PG_DATABASE_URL: ${HASURA_PG_DATABASE_URL:-postgres://${HASURA_POSTGRES_USER:-${POSTGRES_USER:-postgres}}:${HASURA_POSTGRES_PASSWORD:-${POSTGRES_PASSWORD:-postgres}}@postgres:5432/${HASURA_POSTGRES_DB:-${POSTGRES_DB:-postgres}}}
## enable the console served by server
HASURA_GRAPHQL_ENABLE_CONSOLE: ${HASURA_GRAPHQL_ENABLE_CONSOLE:-true} # set to "false" to disable console
## enable debugging mode. It is recommended to disable this in production
HASURA_GRAPHQL_DEV_MODE: ${HASURA_GRAPHQL_DEV_MODE:-true}
HASURA_GRAPHQL_ENABLED_LOG_TYPES: ${HASURA_GRAPHQL_ENABLED_LOG_TYPES:-startup, http-log, webhook-log, websocket-log, query-log}
## uncomment next line to run console offline (i.e load console assets from server instead of CDN)
HASURA_GRAPHQL_CONSOLE_ASSETS_DIR: ${HASURA_GRAPHQL_CONSOLE_ASSETS_DIR:-/srv/console-assets}
## uncomment next line to set an admin secret
HASURA_GRAPHQL_ADMIN_SECRET: ${HASURA_GRAPHQL_ADMIN_SECRET:-myadminsecretkey}
labels:
- SERVICE_8080_CHECK_HTTP=/
- SERVICE_8080_NAME=${COMPOSE_SERVICE_NAME}-graphql-engine-8080
- SERVICE_8080_TAGS=${HASURA_GRAPHQL_ENGINE_SERVICE_8080_TAGS:-urlprefix-hasura.localhost/*}
networks:
- private
+23
View File
@@ -0,0 +1,23 @@
version: '3.6'
services:
postgres:
image: postgres:alpine
environment:
- POSTGRES_DB=${HASURA_POSTGRES_DB:-postgres}
- POSTGRES_HOST_AUTH_METHOD=${HASURA_POSTGRES_HOST_AUTH_METHOD:-trust}
- POSTGRES_PASSWORD=${HASURA_POSTGRES_PASSWORD:-postgres}
- POSTGRES_USER=${HASURA_POSTGRES_USER:-postgres}
labels:
- SERVICE_5432_CHECK_TCP=true
- SERVICE_5432_NAME=${COMPOSE_SERVICE_NAME}-postgres-5432
networks:
- private
ports:
- 5432
volumes:
- postgres:/var/lib/postgresql/data
restart: always
volumes:
postgres: