When the DB is exposed, you actually have to go through the exposed port, as the internal network port is not available anymore.
281 lines
9.4 KiB
YAML
281 lines
9.4 KiB
YAML
# 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"
|