Skip to content
Permalink
Branch: master
Find file Copy path
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
executable file 222 lines (206 sloc) 7.1 KB
#
# RAGE WP2 server-side infrastructure
# This version requires the use of
# docker v1.9+
# docker-compose v1.5+, running with --x-experimental-networking
#
version: '2'
services:
# A fast in-memory store
# saves data to ./data/redis
redis:
image: redis:4.0.2-alpine
container_name: "redis"
volumes:
- ./data/redis:/data
# A scalable cache
# saves data to ./data/mongo
mongo:
image: mongo:3.4
container_name: "mongo"
volumes:
- ./data/mongo:/data/db
# Full-text search & analytics DB
# saves data to ./data/elastic5
elastic5:
image: docker.elastic.co/elasticsearch/elasticsearch:5.6.2
container_name: "elastic5"
environment:
- ES_JAVA_OPTS=-Xms2g -Xmx2g
- xpack.security.enabled=false
- xpack.monitoring.enabled=false
- xpack.graph.enabled=false
- xpack.watcher.enabled=false
- xpack.ml.enabled=false
volumes:
- ./data/elastic5:/usr/share/elasticsearch/data
ports:
- "127.0.0.1:9200:9200"
- "127.0.0.1:9300:9300"
# Kibana 5.6.2
kibana:
image: eucm/kibana:5.6.2.3
container_name: "kibana"
environment:
- ELASTICSEARCH_URL=http://elastic5:9200
- SIGNUP_APP=true
- A2_API_PATH=http://a2:3000/api/
- MY_HOST=http://kibana:5601
- KIBANA_BASE_PATH=/api/proxy/kibana
- SERVER_BASEPATH=/api/proxy/kibana
- KIBANA_A2ADMINPASSWORD=${ROOT_PASS}
- TILEMAP_OPTIONS_MAXZOOM=19
- TILEMAP_URL=https://a.tile.openstreetmap.org/{z}/{x}/{y}.png
- XPACK_REPORTING_ENABLED=false
- XPACK_SECURITY_ENABLED=false
- XPACK_MONITORING_ENABLED=false
- XPACK_GRAPH_ENABLED=false
volumes:
- kibana-data:/usr/share/kibana/optimize/
ports:
- "127.0.0.1:5601:5601"
# Kafka (A scalable queue) + Zookeeper (Distributed conf. service)
# as of 2016.10 -- kafka:0.10.0.1, zookeeper:3.4.5+dfsg-2
kzk:
image: eucm/kzk:0.11.0.1
container_name: "kzk"
environment:
- ADVERTISED_HOST=kzk
- ADVERTISED_PORT=9092
ports:
- "127.0.0.1:2181:2181"
- "127.0.0.1:9092:9092"
# nimbus: supervises everything; talks to zookeeper
# in e-ucm/dockerized-storm -- storm:1.1.1
# requires: kzk
nimbus:
image: eucm/storm-nimbus:1.1.1
container_name: "nimbus"
environment:
- KZK_PORT_2181_TCP_ADDR=kzk
- NIMBUS_PORT_6627_TCP_ADDR=nimbus
- UI_PORT_8081_TCP_ADDR=ui
ports:
- "127.0.0.1:6627:6627"
# ui: allows access to logs
# in e-ucm/dockerized-storm -- storm:1.1.1
# requires: nimbus, kzk
ui:
image: eucm/storm-ui:1.1.1
container_name: "ui"
environment:
- KZK_PORT_2181_TCP_ADDR=kzk
- NIMBUS_PORT_6627_TCP_ADDR=nimbus
- UI_PORT_8081_TCP_ADDR=ui
ports:
- "127.0.0.1:8081:8081"
# supervisor: supervises actual workers
# in e-ucm/dockerized-storm -- storm:1.1.1
# requires: nimbus, kzk, mongo
supervisor:
image: eucm/storm-supervisor:1.1.1
container_name: "supervisor"
environment:
- KZK_PORT_2181_TCP_ADDR=kzk
- NIMBUS_PORT_6627_TCP_ADDR=nimbus
- UI_PORT_8081_TCP_ADDR=ui
# Authentication & Authorization
# (part of SDA asset: Sever-side Dashboard & Analytics)
# requires: redis, mongo
a2:
image: eucm/a2:1.7.0
container_name: "a2"
environment:
- REDIS_PORT=tcp://redis:6379
- MONGO_PORT=tcp://mongo:27017
- A2_ROOTPASSWORD=${ROOT_PASS}
- LTI_BACK_PROTOCOL=http
- LTI_BACK_HOST=back
- LTI_BACK_PORT=3300
ports:
- "3000:3000"
# Generates RealTime analytics jar, used in Analytics Backend
realtime:
image: eucm/rage-analytics-realtime:1.7.0
# Analytics Backend
# (SISA asset: Server-side Interaction Storage & Analytics)
# requires: a2, kzk, lrs, mongo, nimbus
back:
image: eucm/rage-analytics-backend:1.7.0
container_name: "back"
volumes_from:
- realtime
- nimbus
environment:
- MY_HOST=back
- A2_PORT=tcp://a2:3000
- KZK_PORT=tcp://kzk:2181
- LRS_PORT=tcp://lrs:8080
- MONGO_PORT=tcp://mongo:27017
- NIMBUS_PORT=tcp://nimbus:6627
- ELASTICSEARCH_PORT=tcp://elastic5:9200
- RAGE_ANALYTICS_BACKEND_STORMPATH=/app/storm_vol/bin
- RAGE_ANALYTICS_BACKEND_REALTIMEJAR=/analysis/output/real-time-default-topology/
- RAGE_ANALYTICS_BACKEND_ANALYSISFOLDER=/app/analysis/
- RAGE_ANALYTICS_BACKEND_A2ADMINPASSWORD=${ROOT_PASS}
- MAX_KIBANA_PRECISION=19
- USE_LRS=false
volumes:
- ./data/back:/app/analysis
ports:
- "127.0.0.1:3300:3300"
# Analytics Frontend
# (part of SDA asset: Server-side Dashboard and Analytics)
# requires: a2, back (accessed via a2)
# NOTE - a2 is assumed to be exposed at the same external IP used by front
front:
image: eucm/rage-analytics-frontend:1.7.0
container_name: "front"
environment:
- MY_HOST=front
- A2_PORT=tcp://a2:3000
- KIBANA_PORT=tcp://kibana:5601
- RAGE_ANALYTICS_FRONTEND_A2ADMINPASSWORD=${ROOT_PASS}
ports:
- "127.0.0.1:3350:3350"
# Analytics Teaching Assistant Frontend
# (part of SDA asset: Server-side Dashboard and Analytics)
# requires: a2, back (accessed via a2)
# NOTE - a2 is assumed to be exposed at the same external IP used by front
teas:
image: eucm/rage-analytics-teaching-assistant-frontend:1.5.2
container_name: "teas"
environment:
- MY_HOST=teas
- A2_PORT=tcp://a2:3000
- KIBANA_PORT=tcp://kibana:5601
- RAGE_ANALYTICS_TEACHING_ASSISTANT_FRONTEND_A2ADMINPASSWORD=${ROOT_PASS}
ports:
- "127.0.0.1:3550:3550"
# Game Storage Server
# (SIS asset: Server-side Interaction Storage)
# requires: a2, mongo
gamestorage:
image: eucm/rage-gamestorage-server:1.0.2
container_name: "gamestorage"
environment:
- MY_HOST=gamestorage
- A2_PORT=tcp://a2:3000
- MONGO_PORT=tcp://mongo:27017
- RAGE_GAMESTORAGE_A2ADMINPASSWORD=${ROOT_PASS}
ports:
- "127.0.0.1:3400:3400"
persister:
image: eucm/rage-kafka-traces-persister
container_name: "persister"
environment:
- MY_HOST=persister
- MONGO_PORT=tcp://mongo:27017
- KZK_PORT=tcp://kzk:2181
volumes:
- ./data/traces:/app/traces
ports:
- "127.0.0.1:3003:3003"
volumes:
kibana-data:
driver: local
You can’t perform that action at this time.