mirror of
https://github.com/hasura/graphql-engine.git
synced 2024-12-14 17:02:49 +03:00
7f3d3eb5f8
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/9038 GitOrigin-RevId: bd9ac1518d9abc05fc7e3aa2b4fcb1c6af3e73fa
123 lines
3.8 KiB
YAML
123 lines
3.8 KiB
YAML
version: '3.6'
|
|
services:
|
|
engine-metadata-db:
|
|
image: postgres:15
|
|
restart: always
|
|
container_name: 'engine-metadata-db'
|
|
volumes:
|
|
- metadata_db_data:/var/lib/postgresql/data
|
|
environment:
|
|
POSTGRES_PASSWORD: pass
|
|
postgres:
|
|
container_name: 'postgres'
|
|
image: postgres:15
|
|
ports:
|
|
- '5432:5432'
|
|
environment:
|
|
POSTGRES_PASSWORD: pass
|
|
volumes:
|
|
- ./DataSources/postgres.sql:/docker-entrypoint-initdb.d/postgres.sql
|
|
mysql:
|
|
image: mysql:8.0
|
|
restart: always
|
|
environment:
|
|
- MYSQL_ROOT_PASSWORD=pass
|
|
volumes:
|
|
- ./DataSources/mysql.sql:/docker-entrypoint-initdb.d/mysql.sql
|
|
ports:
|
|
- '3306:3306'
|
|
container_name: 'mysql'
|
|
sqlite:
|
|
build:
|
|
context: '../../dc-agents/sqlite'
|
|
container_name: 'sqlite'
|
|
ports:
|
|
- '8100:8100'
|
|
volumes:
|
|
- ./DataSources/sqlite.db:/sqlite.db
|
|
mssql:
|
|
container_name: 'mssql'
|
|
ports:
|
|
- '1433:1433'
|
|
volumes:
|
|
- mssql-database-data:/var/opt/mssql
|
|
stdin_open: true
|
|
image: mcr.microsoft.com/azure-sql-edge
|
|
# if not running Apple Silicon (M1/M2 etc), you can use this:
|
|
#image: mcr.microsoft.com/mssql/server:2022-latest
|
|
init: true # azure-sql-edge doesn't shut down properly without this
|
|
environment:
|
|
ACCEPT_EULA: 'Y'
|
|
SA_PASSWORD: 'Password!'
|
|
MSSQL_SA_PASSWORD: 'Password!'
|
|
mongo:
|
|
image: mongo
|
|
restart: always
|
|
environment:
|
|
MONGO_INITDB_DATABASE: sample
|
|
volumes:
|
|
- ./DataSources/mongo/init.js:/docker-entrypoint-initdb.d/mongo-init.js:ro
|
|
ports:
|
|
- '27017:27017'
|
|
command: mongod --setParameter enableLocalhostAuthBypass=0 --dbpath=/data/db --bind_ip_all --port 27017
|
|
|
|
# sqlcmd (tools) are not included in the arm64 image
|
|
mssql-tools:
|
|
depends_on:
|
|
- mssql
|
|
container_name: 'mssql-tools'
|
|
image: mcr.microsoft.com/mssql-tools:latest
|
|
command: bash /opt/mssql_scripts/run-initialization.sh
|
|
stdin_open: true
|
|
volumes:
|
|
- ./DataSources/mssql:/opt/mssql_scripts
|
|
|
|
graphql-engine:
|
|
image: hasura/graphql-engine:latest
|
|
|
|
# Using a build image can be done like this (need to download from build kite)
|
|
# image: hasura/graphql-engine:dev-80b04ef-main.ubuntu.arm64
|
|
|
|
ports:
|
|
- '8080:8080'
|
|
depends_on:
|
|
data-connector-agent:
|
|
condition: service_healthy
|
|
restart: always
|
|
container_name: 'graphql-engine'
|
|
extra_hosts:
|
|
- 'data.lux-dev.hasura.me:192.168.29.221'
|
|
environment:
|
|
## postgres database to store Hasura metadata
|
|
HASURA_GRAPHQL_METADATA_DATABASE_URL: postgres://postgres:pass@engine-metadata-db:5432/postgres
|
|
## enable the console served by server
|
|
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: 'true'
|
|
HASURA_GRAPHQL_ENABLED_LOG_TYPES: startup, http-log, webhook-log, websocket-log, query-log
|
|
HASURA_GRAPHQL_EXPERIMENTAL_FEATURES: 'naming_convention'
|
|
HASURA_GRAPHQL_ADMIN_SECRET: 'moocow'
|
|
HASURA_FF_NATIVE_QUERY_INTERFACE: 'True'
|
|
# HASURA_GRAPHQL_EE_LICENSE_KEY: ''
|
|
data-connector-agent:
|
|
container_name: 'super-connector'
|
|
image: hasura/graphql-data-connector:latest
|
|
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/mysql/health']
|
|
interval: 5s
|
|
timeout: 10s
|
|
retries: 5
|
|
start_period: 5s
|
|
|
|
volumes:
|
|
metadata_db_data:
|
|
mssql-database-data:
|