# This file starts up the necessary database services to test # graphql-engine. # # 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 --volumes # # 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 control-C terminal command. # # Facts: # # * The SERVICE PORTS numbering start at 65001, 65002, etc. to avoid # bother existing instances of databases. # # * The login credentials are, where possible, all "hasura" to avoid # unnecessary mental overhead. version: "3.6" services: mariadb: image: mariadb:10.6.4-focal@sha256:c014ba1efc5dbd711d0520c7762d57807f35549de3414eb31e942a420c8a2ed2 ports: - "65001:3306" environment: MARIADB_USER: "hasura" MARIADB_PASSWORD: "hasura" MARIADB_DATABASE: "hasura" MARIADB_ALLOW_EMPTY_ROOT_PASSWORD: "true" volumes: - mariadb-data:/var/lib/mysql postgres: image: cimg/postgres:14.4-postgis@sha256:492a389895568e2f89a03c0c45c19350888611001123514623551a014e83a625 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 sqlserver: build: ./docker-compose/sqlserver/ ports: - "65003:1433" environment: ACCEPT_EULA: "Y" SA_PASSWORD: "DockerComposePassword!" MSSQL_SA_PASSWORD: "DockerComposePassword!" volumes: - mssql-data:/var/opt/mssql citus: image: citusdata/citus:10.1@sha256:7e497e5ca18d7f2ae2a66c1d5d676b548e9221b7e6294adfb03006adad85502c 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: image: cockroachdb/cockroach:v22.1.5@sha256:66ee50d6fdc92a6994d79a74eb689b6fd2a931c4c72ac98b4cb7dba4c6ce3f8f command: - start-single-node - --insecure - --accept-sql-without-tls ports: - "65008:26257" environment: COCKROACH_USER: "root" COCKROACH_DATABASE: "hasura" volumes: - cockroach-data:/cockroach/cockroach-data - ./docker-compose/cockroach/init.sh:/docker-entrypoint-initdb.d/init-hasura.sh:ro dc-reference-agent: build: ./dc-agents/reference/ ports: - "65005:8100" dc-sqlite-agent: build: ./dc-agents/sqlite/ ports: - "65007:8100" volumes: - "./dc-agents/sqlite/test/db.chinook.sqlite:/db.chinook.sqlite" volumes: citus-data: mariadb-data: mssql-data: postgres-data: cockroach-data: