graphql-engine/docker-compose.yaml
Samir Talwar 2467e23ef6 docker: Always use the official SQL Server image for testing.
Now that Docker for macOS supports using Rosetta for x86/amd64 emulation, we no longer need to use the `azure-sql-edge` image. We can always use the official `mcr.microsoft.com/mssql/server` one.

This also means that we no longer need the separate healthcheck container, because the official image ships with `sqlcmd`.

When this is merged, you will need to ensure you have enabled Rosetta emulation in the Docker settings to test against SQL Server on macOS. This requires macOS 13 (Ventura).

PR-URL: https://github.com/hasura/graphql-engine-mono/pull/10139
GitOrigin-RevId: 2225bf5f4c6d3632da1f29b2229c9b04ead5e34c
2023-09-25 13:27:23 +00:00

104 lines
2.6 KiB
YAML

# This file extends the base Docker Compose files to make manual testing easy.
#
# Run the following to get started:
#
# docker compose up -d
#
# That will start up services in the background. To take them down, you have to
# run:
#
# docker compose down
#
# If you changed DB init scripts, then you should also run:
#
# docker compose down -v
#
# That'll delete the volumes. Otherwise e.g. PostgreSQL will skip initializing
# if a DB already exists.
#
# If you omit `-d`, it'll run them all in the foreground, then you can stop them
# with your usual Ctrl-C terminal command.
#
# Facts:
#
# * The SERVICE PORTS numbering start at 65001, 65002, etc. to avoid bothering
# existing instances of databases.
#
# * The login credentials are, where possible, all "hasura" to avoid unnecessary
# mental overhead.
#
# * The SQL Server image will only work on macOS if you enable the relevant
# settings. Open the Docker Desktop settings, enable "Use Virtualization
# framework" in the "General" tab, and "Use Rosetta for x86/amd64 emulation on
# Apple Silicon" in the "Features in development" tab.
version: "3.6"
name: hge-manual-tests
services:
postgres:
extends:
file: docker-compose/databases.yaml
service: postgres
ports:
- "65002:5432"
environment:
POSTGRES_USER: "hasura"
POSTGRES_PASSWORD: "hasura"
POSTGRES_DB: "hasura"
volumes:
- postgres-data:/var/lib/postgresql/data
- ./docker-compose/postgres/init.sh:/docker-entrypoint-initdb.d/init-hasura.sh:ro
citus:
extends:
file: docker-compose/databases.yaml
service: citus
ports:
- "65004:5432"
environment:
POSTGRES_USER: "hasura"
POSTGRES_PASSWORD: "hasura"
POSTGRES_DB: "hasura"
volumes:
- citus-data:/var/lib/postgresql/data
- ./docker-compose/postgres/init.sh:/docker-entrypoint-initdb.d/init-hasura.sh:ro
cockroach:
extends:
file: docker-compose/databases.yaml
service: cockroach
ports:
- "65008:26257"
environment:
COCKROACH_USER: "root"
COCKROACH_DATABASE: "hasura"
volumes:
- cockroach-data:/cockroach/cockroach-data
sqlserver:
extends:
file: docker-compose/databases.yaml
service: sqlserver
ports:
- "65003:1433"
volumes:
- mssql-data:/var/opt/mssql
dc-reference-agent:
extends:
file: dc-agents/docker-compose.yaml
service: dc-reference-agent
dc-sqlite-agent:
extends:
file: dc-agents/docker-compose.yaml
service: dc-sqlite-agent
volumes:
citus-data:
cockroach-data:
mssql-data:
postgres-data: