version: '3.6' services: redis: image: redis:latest restart: always ports: - '6379:6379' postgres: image: postgres:12 restart: always ports: - '5432:5432' volumes: - db_data:/var/lib/postgresql/data environment: POSTGRES_PASSWORD: postgrespassword graphql-engine: image: hasura/graphql-engine:v2.12.0-beta.1 ports: - '8080:8080' depends_on: - 'postgres' - 'redis' restart: always environment: ## add your license key below HASURA_GRAPHQL_EE_LICENSE_KEY: '' HASURA_GRAPHQL_ADMIN_SECRET: myadminsecretkey ## The metadata database for this Hasura GraphQL project. Can be changed to a managed postgres instance HASURA_GRAPHQL_METADATA_DATABASE_URL: postgres://postgres:postgrespassword@postgres:5432/postgres # HASURA_GRAPHQL_READ_REPLICA_URLS: postgres://postgres:postgrespassword@postgres:5432/postgres ## Optional settings: ## enable the console served by server HASURA_GRAPHQL_ENABLE_CONSOLE: 'true' ## enable required apis; metrics api exposes a prometheus endpoint, uncomment to enable # HASURA_GRAPHQL_ENABLED_APIS: "graphql,metadata,config,developer,pgdump,metrics" ## secure metrics endpoint with a secret, uncomment to enable # HASURA_GRAPHQL_METRICS_SECRET: "secret" ## enable debugging mode. It is recommended to disable this in production HASURA_GRAPHQL_DEV_MODE: 'true' # HASURA_GRAPHQL_LOG_LEVEL: debug HASURA_GRAPHQL_CONSOLE_ASSETS_DIR: '/srv/console-assets' HASURA_GRAPHQL_REDIS_URL: 'redis://redis:6379' HASURA_GRAPHQL_RATE_LIMIT_REDIS_URL: 'redis://redis:6379' HASURA_GRAPHQL_MAX_CACHE_SIZE: '200' volumes: db_data: