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 b290512265 Fix usage of variables for fixed values
Some values which are fixed by the docker compose file should not be set
as variables, and hardcoded everywhere as required.

This also untangles the use of the variables DB_HOST and DB_PORT to be
only about the exposed hostname and port, whenever the DB engine is
exposed on the server interface.
2018-02-22 16:57:22 +01:00

279 lines
9.1 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
POSTGRES_PORT: 5432
POSTGRES_USER: ${DB_USER_ADMIN}
POSTGRES_PASSWORD: ${DB_PASSWORD_ADMIN}
POSTGRES_DB: ${DB_NAME2}
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:5432/${DB_NAME4}
PORTAL_DB_SERVER: db:5432
PORTAL_DB_USER: ${DB_USER4}
PORTAL_DB_PASSWORD: ${DB_PASSWORD4}
PORTAL_DB_SCHEMA: public # Stable Config
META_DB_URL: jdbc:postgresql://db:5432/${DB_NAME1}
META_DB_SERVER: db:5432
META_DB_USER: ${DB_USER1}
META_DB_PASSWORD: ${DB_PASSWORD1}
META_DB_SCHEMA: public # Stable Config
FEATURES_DB_URL: jdbc:postgresql://db:5432/${DB_NAME2}
FEATURES_DB_SERVER: db:5432
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}/services/login/hbp
FRONTEND_AFTER_LOGIN_URL: ${PORTAL_FRONTEND_URL}/home
FRONTEND_AFTER_LOGOUT_URL: ${PORTAL_FRONTEND_URL}/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"