# Copyright (c) 2018-2018 # Data Intensive Applications and Systems Labaratory (DIAS) # Ecole Polytechnique Federale de Lausanne # # All Rights Reserved. # # Permission to use, copy, modify and distribute this software and its # documentation is hereby granted, provided that both the copyright notice # and this permission notice appear in all copies of the software, derivative # works or modified versions, and any portions thereof, and that both notices # appear in supporting documentation. # # This code is distributed in the hope that it will be useful, but WITHOUT ANY # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR # A PARTICULAR PURPOSE. THE AUTHORS AND ECOLE POLYTECHNIQUE FEDERALE DE LAUSANNE # DISCLAIM ANY LIABILITY OF ANY KIND FOR ANY DAMAGES WHATSOEVER RESULTING FROM THE # USE OF THIS SOFTWARE. version: '3' networks: local: services: zookeeper: image: ${ZOOKEEPER_IMAGE}${ZOOKEEPER_VERSION} environment: ZOO_MY_ID: 1 ZOO_SERVERS: server.1=zookeeper:${ZOOKEEPER_PORT2}:${ZOOKEEPER_PORT3} restart: unless-stopped # Used only by docker-compose deploy: # Used only by docker stack restart_policy: condition: on-failure delay: 5s max_attempts: 3 window: 120s networks: - local mesos-master: image: ${MESOS_MASTER_IMAGE}${MESOS_MASTER_VERSION} environment: MESOS_PORT: ${MESOS_MASTER_PORT} MESOS_ZK: zk://zookeeper:${ZOOKEEPER_PORT1}/mesos MESOS_QUORUM: 1 MESOS_REGISTRY: in_memory MESOS_CLUSTER: local MESOS_HOSTNAME: mesos-master MESOS_LOG_DIR: /var/log/mesos MESOS_WORK_DIR: /tmp/mesos volumes: - ${MESOS_MASTER_LOGS}:/var/log/mesos:rw - ${MESOS_MASTER_TMP}:/tmp/mesos:rw depends_on: - zookeeper restart: unless-stopped # Used only by docker-compose deploy: # Used only by docker stack restart_policy: condition: on-failure delay: 5s max_attempts: 3 window: 120s networks: - local mesos-slave: image: ${MESOS_SLAVE_IMAGE}${MESOS_SLAVE_VERSION} environment: MESOS_MASTER: zk://zookeeper:${ZOOKEEPER_PORT1}/mesos MESOS_PORT: ${MESOS_SLAVE_PORT} MESOS_LOG_DIR: /var/log/mesos MESOS_WORK_DIR: /tmp/mesos MESOS_CONTAINERIZERS: docker,mesos MESOS_EXECUTOR_REGISTRATION_TIMEOUT: 5mins MESOS_EXECUTOR_SHUTDOWN_GRACE_PERIOD: 90secs MESOS_DOCKER_STOP_TIMEOUT: 60secs MESOS_HOSTNAME: mesos-slave MESOS_SWITCH_USER: 0 # see bug resolution for "Failed to determine the hierarchy where the subsystem freezer is attached" at https://github.com/eBayClassifiedsGroup/PanteraS/issues/142 MESOS_LAUNCHER: "posix" privileged: true depends_on: - zookeeper - mesos-master restart: unless-stopped # Used only by docker-compose deploy: # Used only by docker stack restart_policy: condition: on-failure delay: 5s max_attempts: 3 window: 120s volumes: - /sys:/sys:ro - /var/run/docker.sock:/var/run/docker.sock:rw - ${MESOS_SLAVE_LOGS}:/var/log/mesos:rw - ${MESOS_SLAVE_TMP}:/tmp/mesos:rw networks: - local chronos: image: ${CHRONOS_IMAGE}${CHRONOS_VERSION} #command: "--http_port ${CHRONOS_PORT1} --zk_hosts zookeeper:${ZOOKEEPER_PORT1} --master zk://zookeeper:${ZOOKEEPER_PORT1}/mesos --zk_timeout 30000" command: "/usr/bin/chronos run_jar \ --http_port ${CHRONOS_PORT1} \ --zk_hosts zookeeper:${ZOOKEEPER_PORT1} --master zk://zookeeper:${ZOOKEEPER_PORT1}/mesos --zk_timeout 30000 \ --webui_url http://chronos:${CHRONOS_PORT1}/ --hostname chronos \ --failure_retry 5000 --disable_after_failures 1 --cluster_name MIP" depends_on: - zookeeper - mesos-slave restart: unless-stopped # Used only by docker-compose deploy: # Used only by docker stack restart_policy: condition: on-failure delay: 5s max_attempts: 3 window: 120s networks: - local db: image: ${DB_IMAGE}${DB_VERSION} environment: POSTGRES_USER: ${DB_USER_ADMIN} POSTGRES_PASSWORD: ${DB_PASSWORD_ADMIN} PGDATA: "/data/pgdata" # LSC: When using PostgreSQL, make sure it uses the right folder, as mounted below restart: unless-stopped # Used only by docker-compose deploy: # Used only by docker stack restart_policy: condition: on-failure delay: 5s max_attempts: 3 window: 120s volumes: - ${DB_DATA}:/data:rw - ${DB_DATASETS}:/datasets:ro networks: - local # ports: # - "${DB_PORT}:5432" db-ui: image: ${DB_UI_IMAGE}${DB_UI_VERSION} environment: POSTGRES_HOST: ${DB_HOST} POSTGRES_PORT: ${DB_PORT} POSTGRES_USER: ${DB_USER_ADMIN} POSTGRES_PASSWORD: ${DB_PASSWORD_ADMIN} POSTGRES_DB: ${DB_NAME2} FED_DATA_SOURCE: ${DB_UI_FEDERATION_SOURCES} LOCAL_DATA_SOURCE: ${DB_UI_LOCAL_SOURCES} depends_on: - db restart: unless-stopped # Used only by docker-compose deploy: # Used only by docker stack restart_policy: condition: on-failure delay: 5s max_attempts: 3 window: 120s volumes: - ${DB_DATA}:/data:rw - ${DB_DATASETS}:/datasets:ro networks: - local # ports: # Expose PostgresRAW-UI only when needed # - "${DB_UI_PORT}:5555" woken: image: ${WOKEN_IMAGE}${WOKEN_VERSION} depends_on: - db - chronos restart: unless-stopped # Used only by docker-compose deploy: # Used only by docker stack restart_policy: condition: on-failure delay: 5s max_attempts: 3 window: 120s volumes: - ${WOKEN_CONF}:/opt/woken/config/application.conf:ro networks: - local woken-validation: image: ${WOKEN_VALIDATION_IMAGE}${WOKEN_VALIDATION_VERSION} depends_on: - woken restart: unless-stopped # Used only by docker-compose deploy: # Used only by docker stack restart_policy: condition: on-failure delay: 5s max_attempts: 3 window: 120s volumes: - ${WOKEN_VALIDATION_CONF}:/opt/woken-validation/config/application.conf:ro networks: - local backend: image: ${PORTAL_BACKEND_IMAGE}${PORTAL_BACKEND_VERSION} environment: PORTAL_DB_URL: jdbc:postgresql://${DB_HOST}:${DB_PORT}/${DB_NAME4} PORTAL_DB_SERVER: ${DB_HOST}:${DB_PORT} PORTAL_DB_USER: ${DB_USER4} PORTAL_DB_PASSWORD: ${DB_PASSWORD4} PORTAL_DB_SCHEMA: public # Stable Config META_DB_URL: jdbc:postgresql://${DB_HOST}:${DB_PORT}/${DB_NAME1} META_DB_SERVER: ${DB_HOST}:${DB_PORT} META_DB_USER: ${DB_USER1} META_DB_PASSWORD: ${DB_PASSWORD1} META_DB_SCHEMA: public # Stable Config FEATURES_DB_URL: jdbc:postgresql://${DB_HOST}:${DB_PORT}/${DB_NAME2} FEATURES_DB_SERVER: ${DB_HOST}:${DB_PORT} FEATURES_DB_USER: ${DB_USER2} FEATURES_DB_PASSWORD: ${DB_PASSWORD2} FEATURES_DB_SCHEMA: public # Stable Config FEATURES_DB_MAIN_TABLE: ${WOKEN_MAIN_TABLE} CONTEXT_PATH: ${WOKEN_CONTEXT_PATH} # Stable Config AUTHENTICATION: ${PORTAL_BACKEND_AUTHENTICATION} CLIENT_ID: ${PORTAL_BACKEND_CLIENT_ID} CLIENT_SECRET: ${PORTAL_BACKEND_CLIENT_SECRET} TOKEN_URI: https://services.humanbrainproject.eu/oidc/token AUTH_URI: https://services.humanbrainproject.eu/oidc/authorize USER_INFO_URI: https://services.humanbrainproject.eu/oidc/userinfo FRONTEND_LOGIN_URL: ${PORTAL_FRONTEND_URL}:${PORTAL_FRONTEND_PORT1}/services/login/hbp FRONTEND_AFTER_LOGIN_URL: ${PORTAL_FRONTEND_URL}:${PORTAL_FRONTEND_PORT1}/home FRONTEND_AFTER_LOGOUT_URL: ${PORTAL_FRONTEND_URL}:${PORTAL_FRONTEND_PORT1}/services/login/hbp WOKEN_HOST: ${WOKEN_HOST} WOKEN_PORT: ${WOKEN_PORT2} WOKEN_AKKA_PATH: /user/entrypoint WOKEN_AKKA_PORT: ${WOKEN_AKKA_PORT} # Stable Config WOKEN_URL: http://${WOKEN_HOST}:${WOKEN_PORT2} # Stable Config EXAREME_URL: ${WOKEN_EXAREME_URL} LOGGING_LEVEL_WEB: DEBUG LOGGING_LEVEL_HIBERNATE: WARN #LOGGING_LEVEL_HIBERNATE: DEBUG # Stable Config SESSION_TIMEOUT: 2592000 VIRTUAL_HOST: backend VIRTUAL_PORT: 8080 depends_on: - db - woken restart: unless-stopped # Used only by docker-compose deploy: # Used only by docker stack restart_policy: condition: on-failure delay: 5s max_attempts: 3 window: 120s networks: - local frontend: image: ${PORTAL_FRONTEND_IMAGE}${PORTAL_FRONTEND_VERSION} environment: WORKER_PROCESSES: 1 ERROR_LOG_LEVEL: warn PORTAL_VIRTUAL_HOST: frontend PORTAL_BACKEND_SERVER: backend:8080 PORTAL_BACKEND_CONTEXT: ${PORTAL_BACKEND_CONTEXT} ANALYTICS: "False" # Stable Config MIP_VERSION: 2.5.3 # Stable Config depends_on: - backend restart: unless-stopped # Used only by docker-compose deploy: # Used only by docker stack restart_policy: condition: on-failure delay: 5s max_attempts: 3 window: 120s networks: - local ports: - "${PORTAL_FRONTEND_PORT1}:80" - "${PORTAL_FRONTEND_PORT2}:443"