version: '3.6' services: postgres: image: postgres:12 restart: always ports: - "8432:5432" volumes: - db_data:/var/lib/postgresql/data - ./init-pg/:/docker-entrypoint-initdb.d/ environment: POSTGRES_PASSWORD: postgrespassword graphql-engine: image: hasura/graphql-engine:v2.8.1 ports: - "8070:8080" depends_on: - "postgres" restart: always environment: ## postgres database to store Hasura metadata HASURA_GRAPHQL_METADATA_DATABASE_URL: postgres://hasura_metadata_user:hasura_metadata_user_password@postgres:5432/postgres ## this env var can be used to add the above postgres database to Hasura as a data source. this can be removed/updated based on your needs # PG_DATABASE_URL: postgres://postgres:postgrespassword@postgres: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 ## uncomment next line to set an admin secret # HASURA_GRAPHQL_ADMIN_SECRET: myadminsecretkey volumes: db_data: