This repository has been archived on 2021-04-13. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
hbp-sp8-mip-local/docker-compose.yml
Lionel Sambuc 3e79e99f03 Some more adaptation on DB_HOST and DB_PORT usage
When the DB is exposed, you actually have to go through the exposed
port, as the internal network port is not available anymore.
2018-03-20 16:54:20 +01:00

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"