version: "3.7" services: aerie_gateway: container_name: aerie_gateway depends_on: ["postgres"] environment: AUTH_TYPE: none GQL_API_URL: http://localhost:8080/v1/graphql HASURA_GRAPHQL_JWT_SECRET: "${HASURA_GRAPHQL_JWT_SECRET}" LOG_FILE: console LOG_LEVEL: warn PORT: 9000 AERIE_DB_HOST: aerie_postgres AERIE_DB_PORT: 5432 GATEWAY_DB_USER: "${GATEWAY_USERNAME}" GATEWAY_DB_PASSWORD: "${GATEWAY_PASSWORD}" image: "${REPOSITORY_DOCKER_URL}/aerie-gateway:${DOCKER_TAG}" ports: ["9000:9000"] restart: always volumes: - aerie_file_store:/app/files networks: - aerie_net aerie_merlin: container_name: aerie_merlin depends_on: ["postgres"] environment: HASURA_GRAPHQL_ADMIN_SECRET: "${HASURA_GRAPHQL_ADMIN_SECRET}" HASURA_GRAPHQL_URL: http://hasura:8080/v1/graphql AERIE_DB_HOST: aerie_postgres AERIE_DB_PORT: 5432 MERLIN_DB_USER: "${MERLIN_USERNAME}" MERLIN_DB_PASSWORD: "${MERLIN_PASSWORD}" MERLIN_LOCAL_STORE: /usr/src/app/merlin_file_store MERLIN_PORT: 27183 JAVA_OPTS: > -Dorg.slf4j.simpleLogger.defaultLogLevel=WARN -Dorg.slf4j.simpleLogger.logFile=System.err UNTRUE_PLAN_START: "2000-01-01T11:58:55.816Z" image: "${REPOSITORY_DOCKER_URL}/aerie-merlin:${DOCKER_TAG}" ports: ["27183:27183"] restart: always volumes: - aerie_file_store:/usr/src/app/merlin_file_store networks: - aerie_net aerie_merlin_worker_1: container_name: aerie_merlin_worker depends_on: ["postgres"] environment: AERIE_DB_HOST: aerie_postgres AERIE_DB_PORT: 5432 MERLIN_DB_USER: "${MERLIN_USERNAME}" MERLIN_DB_PASSWORD: "${MERLIN_PASSWORD}" MERLIN_WORKER_LOCAL_STORE: /usr/src/app/merlin_file_store SIMULATION_PROGRESS_POLL_PERIOD_MILLIS: 2000 JAVA_OPTS: > -Dorg.slf4j.simpleLogger.defaultLogLevel=INFO -Dorg.slf4j.simpleLogger.log.com.zaxxer.hikari=WARN -Dorg.slf4j.simpleLogger.logFile=System.err UNTRUE_PLAN_START: "2000-01-01T11:58:55.816Z" image: "${REPOSITORY_DOCKER_URL}/aerie-merlin-worker:${DOCKER_TAG}" ports: ["27187:8080"] restart: always volumes: - aerie_file_store:/usr/src/app/merlin_file_store:ro networks: - aerie_net aerie_scheduler: container_name: aerie_scheduler depends_on: ["aerie_merlin", "postgres"] environment: HASURA_GRAPHQL_ADMIN_SECRET: "${HASURA_GRAPHQL_ADMIN_SECRET}" MERLIN_GRAPHQL_URL: http://hasura:8080/v1/graphql AERIE_DB_HOST: aerie_postgres AERIE_DB_PORT: 5432 SCHEDULER_DB_USER: "${SCHEDULER_USERNAME}" SCHEDULER_DB_PASSWORD: "${SCHEDULER_PASSWORD}" SCHEDULER_PORT: 27185 JAVA_OPTS: > -Dorg.slf4j.simpleLogger.defaultLogLevel=WARN -Dorg.slf4j.simpleLogger.logFile=System.err image: "${REPOSITORY_DOCKER_URL}/aerie-scheduler:${DOCKER_TAG}" ports: ["27185:27185"] restart: always volumes: - aerie_file_store:/usr/src/app/merlin_file_store networks: - aerie_net aerie_scheduler_worker_1: container_name: aerie_scheduler_worker_1 depends_on: ["postgres"] environment: HASURA_GRAPHQL_ADMIN_SECRET: "${HASURA_GRAPHQL_ADMIN_SECRET}" MERLIN_GRAPHQL_URL: http://hasura:8080/v1/graphql AERIE_DB_HOST: aerie_postgres AERIE_DB_PORT: 5432 SCHEDULER_DB_USER: "${SCHEDULER_USERNAME}" SCHEDULER_DB_PASSWORD: "${SCHEDULER_PASSWORD}" SCHEDULER_OUTPUT_MODE: UpdateInputPlanWithNewActivities MERLIN_LOCAL_STORE: /usr/src/app/merlin_file_store SCHEDULER_RULES_JAR: /usr/src/app/merlin_file_store/scheduler_rules.jar JAVA_OPTS: > -Dorg.slf4j.simpleLogger.log.com.zaxxer.hikari=INFO -Dorg.slf4j.simpleLogger.logFile=System.err image: "${REPOSITORY_DOCKER_URL}/aerie-scheduler-worker:${DOCKER_TAG}" ports: ["27189:8080"] restart: always volumes: - aerie_file_store:/usr/src/app/merlin_file_store:ro networks: - aerie_net aerie_sequencing: container_name: aerie_sequencing depends_on: ["postgres"] environment: HASURA_GRAPHQL_ADMIN_SECRET: "${HASURA_GRAPHQL_ADMIN_SECRET}" LOG_FILE: console LOG_LEVEL: warn MERLIN_GRAPHQL_URL: http://hasura:8080/v1/graphql SEQUENCING_SERVER_PORT: 27184 AERIE_DB_HOST: aerie_postgres AERIE_DB_PORT: 5432 SEQUENCING_DB_USER: "${SEQUENCING_USERNAME}" SEQUENCING_DB_PASSWORD: "${SEQUENCING_PASSWORD}" SEQUENCING_LOCAL_STORE: /usr/src/app/sequencing_file_store SEQUENCING_WORKER_NUM: 8 SEQUENCING_MAX_WORKER_HEAP_MB: 1000 TRANSPILER_ENABLED: "true" image: "${REPOSITORY_DOCKER_URL}/aerie-sequencing:${DOCKER_TAG}" ports: ["27184:27184"] restart: always volumes: - aerie_file_store:/usr/src/app/sequencing_file_store networks: - aerie_net aerie_ui: container_name: aerie_ui depends_on: ["postgres"] environment: ORIGIN: http://localhost PUBLIC_AERIE_FILE_STORE_PREFIX: "/usr/src/app/merlin_file_store/" PUBLIC_GATEWAY_CLIENT_URL: http://localhost:9000 PUBLIC_GATEWAY_SERVER_URL: http://aerie_gateway:9000 PUBLIC_HASURA_CLIENT_URL: http://localhost:8080/v1/graphql PUBLIC_HASURA_SERVER_URL: http://hasura:8080/v1/graphql PUBLIC_HASURA_WEB_SOCKET_URL: ws://localhost:8080/v1/graphql image: "${REPOSITORY_DOCKER_URL}/aerie-ui:${DOCKER_TAG}" ports: ["80:80"] restart: always networks: - aerie_net hasura: container_name: aerie_hasura depends_on: ["postgres"] environment: AERIE_DATABASE_URL: "postgres://${AERIE_USERNAME}:${AERIE_PASSWORD}@aerie_postgres:5432/aerie?options=-c%20search_path%3Dutil_functions%2Chasura%2Cpermissions%2Ctags%2Cmerlin%2Cscheduler%2Csequencing%2Cpublic" AERIE_MERLIN_URL: "http://aerie_merlin:27183" AERIE_SCHEDULER_URL: "http://aerie_scheduler:27185" AERIE_SEQUENCING_URL: "http://aerie_sequencing:27184" HASURA_GRAPHQL_ADMIN_SECRET: "${HASURA_GRAPHQL_ADMIN_SECRET}" HASURA_GRAPHQL_DEV_MODE: "true" HASURA_GRAPHQL_ENABLE_CONSOLE: "true" HASURA_GRAPHQL_ENABLED_LOG_TYPES: startup, http-log, webhook-log, websocket-log, query-log HASURA_GRAPHQL_JWT_SECRET: "${HASURA_GRAPHQL_JWT_SECRET}" HASURA_GRAPHQL_LOG_LEVEL: warn HASURA_GRAPHQL_METADATA_DATABASE_URL: "postgres://${AERIE_USERNAME}:${AERIE_PASSWORD}@postgres:5432/aerie_hasura" HASURA_GRAPHQL_METADATA_DIR: /hasura-metadata image: "${REPOSITORY_DOCKER_URL}/aerie-hasura:${DOCKER_TAG}" ports: ["8080:8080"] restart: always networks: - aerie_net postgres: container_name: aerie_postgres environment: POSTGRES_DB: postgres POSTGRES_PASSWORD: "${POSTGRES_PASSWORD}" POSTGRES_USER: "${POSTGRES_USER}" AERIE_USERNAME: "${AERIE_USERNAME}" AERIE_PASSWORD: "${AERIE_PASSWORD}" GATEWAY_DB_USER: "${GATEWAY_USERNAME}" GATEWAY_DB_PASSWORD: "${GATEWAY_PASSWORD}" MERLIN_DB_USER: "${MERLIN_USERNAME}" MERLIN_DB_PASSWORD: "${MERLIN_PASSWORD}" SCHEDULER_DB_USER: "${SCHEDULER_USERNAME}" SCHEDULER_DB_PASSWORD: "${SCHEDULER_PASSWORD}" SEQUENCING_DB_USER: "${SEQUENCING_USERNAME}" SEQUENCING_DB_PASSWORD: "${SEQUENCING_PASSWORD}" image: "${REPOSITORY_DOCKER_URL}/aerie-postgres:${DOCKER_TAG}" ports: ["5432:5432"] restart: always volumes: - postgres_data:/var/lib/postgresql/data networks: - aerie_net volumes: aerie_file_store: postgres_data: networks: aerie_net: