graphql-engine/frontend/docker/docker-compose.template.yml
Luca Restagno 6ea943c4b1 [CockroachDB] Fix create manual relationships
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/9830
GitOrigin-RevId: f28455fa54edc65e099035c3c4dd1dd2d0ea56f7
2023-07-11 15:24:16 +00:00

137 lines
4.1 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'
user: root
ports:
- '1433:1433'
volumes:
- mssql-database-data:/var/opt/mssql
stdin_open: true
image: mcr.microsoft.com/azure-sql-edge:latest
# 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_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
mongo-data-connector:
image: hasura/mongo-data-connector:v2.27.0
container_name: mongo_connector
ports:
- 3000:3000
cockroachdb:
image: cockroachdb/cockroach:latest
ports:
- '26257:26257'
- '8090:8080'
command: start-single-node --insecure
volumes:
- 'cockroach-db-data:/cockroach-data/crdb:/cockroach/cockroach-data'
volumes:
metadata_db_data:
mssql-database-data:
cockroach-db-data: