Updated docker-compose.yml

This commit is contained in:
Ben 2020-05-07 03:54:42 +01:00
parent 6e99fd1ad1
commit 8c372cd74c

View File

@ -4,57 +4,97 @@ services:
db: db:
image: postgres:12.2-alpine image: postgres:12.2-alpine
restart: always restart: always
environment: env_file:
POSTGRES_PASSWORD: postgres - .env
networks: networks:
- wand - wand
ports: ports:
- 5432:5432 - 5432:5432
volumes: volumes:
- ./houdini-asyncio/houdini.sql:/docker-entrypoint-initdb.d/houdini.sql - ./houdini-asyncio/houdini.sql:/docker-entrypoint-initdb.d/houdini.sql
- ./.data:/var/lib/postgresql/data
redis: redis:
image: redis:5.0.9-alpine image: redis:5.0.9-alpine
restart: always
networks: networks:
- wand - wand
ports: ports:
- 6379 - 6379
web: web:
image: nginx:1.17.10-alpine build: ./web
restart: always
env_file:
- .env
ports: ports:
- 80:80 - 80:${WEB_PORT}
networks: networks:
- wand - wand
links: links:
- dash:dash - dash:dash
volumes: volumes:
- ./www:/usr/share/nginx/html
- ./legacy-media:/usr/share/nginx/legacy - ./legacy-media:/usr/share/nginx/legacy
- ./vanilla-media:/usr/share/nginx/vanilla - ./vanilla-media:/usr/share/nginx/vanilla
- ./servers.xml:/t/servers.xml
- ./sites:/etc/nginx/conf.d - ./templates/sites/legacy.conf.template:/etc/nginx/conf.d/legacy.conf.template
- ./templates/sites/vanilla.conf.template:/etc/nginx/conf.d/vanilla.conf.template
- ./templates/legacy-media/play/index.html.template:/t/legacy/play/index.html.template
- ./templates/legacy-media/play/es/index.html.template:/t/legacy/play/es/index.html.template
- ./templates/legacy-media/play/fr/index.html.template:/t/legacy/play/fr/index.html.template
- ./templates/legacy-media/play/pt/index.html.template:/t/legacy/play/pt/index.html.template
- ./templates/vanilla-media/play/index.html.template:/t/vanilla/play/index.html.template
- ./templates/vanilla-media/play/es/index.html.template:/t/vanilla/play/es/index.html.template
- ./templates/vanilla-media/play/fr/index.html.template:/t/vanilla/play/fr/index.html.template
- ./templates/vanilla-media/play/pt/index.html.template:/t/vanilla/play/pt/index.html.template
- ./templates/vanilla-media/media/play/web_service/environment_data.xml.template:/t/vanilla/media/play/web_service/environment_data.xml.template
command: ["dockerize",
"-template", "/etc/nginx/conf.d/legacy.conf.template:/etc/nginx/conf.d/legacy.conf",
"-template", "/etc/nginx/conf.d/vanilla.conf.template:/etc/nginx/conf.d/vanilla.conf",
"-template", "/t/servers.xml:/usr/share/nginx/legacy/media/servers.xml",
"-template", "/t/servers.xml:/usr/share/nginx/vanilla/play/servers.xml",
"-template", "/t/legacy/play/index.html.template:/usr/share/nginx/legacy/play/index.html",
"-template", "/t/legacy/play/index.html.template:/usr/share/nginx/legacy/play/en/index.html",
"-template", "/t/legacy/play/es/index.html.template:/usr/share/nginx/legacy/play/es/index.html",
"-template", "/t/legacy/play/fr/index.html.template:/usr/share/nginx/legacy/play/fr/index.html",
"-template", "/t/legacy/play/pt/index.html.template:/usr/share/nginx/legacy/play/pt/index.html",
"-template", "/t/vanilla/play/index.html.template:/usr/share/nginx/vanilla/play/index.html",
"-template", "/t/vanilla/play/index.html.template:/usr/share/nginx/vanilla/play/en/index.html",
"-template", "/t/vanilla/play/es/index.html.template:/usr/share/nginx/vanilla/play/es/index.html",
"-template", "/t/vanilla/play/fr/index.html.template:/usr/share/nginx/vanilla/play/fr/index.html",
"-template", "/t/vanilla/play/pt/index.html.template:/usr/share/nginx/vanilla/play/pt/index.html",
"-template", "/t/vanilla/media/play/web_service/environment_data.xml.template:/usr/share/nginx/vanilla/media/play/web_service/environment_data.xml",
"nginx", "-g", "daemon off;"]
houdini_login: houdini_login:
build: ./houdini-asyncio build: ./houdini-asyncio
image: houdini image: houdini
restart: always
env_file:
- .env
networks: networks:
- wand - wand
ports: ports:
- 6112:6112 - ${GAME_LOGIN_PORT}:${GAME_LOGIN_PORT}
volumes: volumes:
- ./houdini-asyncio:/usr/src/houdini - ./houdini-asyncio:/usr/src/houdini
- ./wait-for-postgres.sh:/usr/src/houdini/wait-for-postgres.sh
depends_on: depends_on:
- db - db
- redis - redis
links: links:
- db:db - db:db
- redis:redis - redis:redis
command: ["dockerize", "-wait", "tcp://db:5432", "-wait", "tcp://redis:6379", "-wait-retry-interval", "3s", entrypoint: ["dockerize", "-wait", "tcp://redis:6379", "./wait-for-postgres.sh", "db", "python", "bootstrap.py", "login"]
"python", "bootstrap.py", "login", command: ["--port", "${GAME_LOGIN_PORT}",
"--redis-address", "redis", "--redis-address", "redis",
"--database-address", "db", "--database-address", "db",
"--database-user", "postgres", "--database-user", "${POSTGRES_USER}",
"--database-password", "postgres"] "--database-password", "${POSTGRES_PASSWORD}"]
houdini_blizzard: houdini_blizzard:
image: houdini image: houdini
restart: always
networks: networks:
- wand - wand
ports: ports:
@ -66,15 +106,16 @@ services:
links: links:
- db:db - db:db
- redis:redis - redis:redis
command: ["dockerize", "-wait", "tcp://db:5432", "-wait", "tcp://redis:6379", "-wait-retry-interval", "3s", - houdini_login:login
"python", "bootstrap.py", "world", entrypoint: ["dockerize", "-wait", "tcp://login:${GAME_LOGIN_PORT}", "python", "bootstrap.py", "world"]
command: ["-id", "3100", "--name", "blizzard", "--port", "9875", "--lang", "en",
"--redis-address", "redis", "--redis-address", "redis",
"--database-address", "db", "--database-address", "db",
"--database-user", "postgres", "--database-user", "${POSTGRES_USER}",
"--database-password", "postgres"] "--database-password", "${POSTGRES_PASSWORD}"]
houdini_glaciar: houdini_glaciar:
image: houdini image: houdini
restart: always
networks: networks:
- wand - wand
ports: ports:
@ -86,16 +127,16 @@ services:
links: links:
- db:db - db:db
- redis:redis - redis:redis
command: ["dockerize", "-wait", "tcp://db:5432", "-wait", "tcp://redis:6379", "-wait-retry-interval", "3s", - houdini_login:login
"python", "bootstrap.py", "world", entrypoint: ["dockerize", "-wait", "tcp://login:${GAME_LOGIN_PORT}", "python", "bootstrap.py", "world"]
"-id", "3101", "--name", "glaciar", "--port", "9876", "--lang", "es", command: ["-id", "3101", "--name", "glaciar", "--port", "9876", "--lang", "es",
"--redis-address", "redis", "--redis-address", "redis",
"--database-address", "db", "--database-address", "db",
"--database-user", "postgres", "--database-user", "${POSTGRES_USER}",
"--database-password", "postgres"] "--database-password", "${POSTGRES_PASSWORD}"]
houdini_avalanche: houdini_avalanche:
image: houdini image: houdini
restart: always
networks: networks:
- wand - wand
ports: ports:
@ -107,16 +148,16 @@ services:
links: links:
- db:db - db:db
- redis:redis - redis:redis
command: ["dockerize", "-wait", "tcp://db:5432", "-wait", "tcp://redis:6379", "-wait-retry-interval", "3s", - houdini_login:login
"python", "bootstrap.py", "world", entrypoint: ["dockerize", "-wait", "tcp://login:${GAME_LOGIN_PORT}", "python", "bootstrap.py", "world"]
"-id", "3102", "--name", "avalanche", "--port", "9877", "--lang", "pt", command: ["-id", "3102", "--name", "avalanche", "--port", "9877", "--lang", "pt",
"--redis-address", "redis", "--redis-address", "redis",
"--database-address", "db", "--database-address", "db",
"--database-user", "postgres", "--database-user", "${POSTGRES_USER}",
"--database-password", "postgres"] "--database-password", "${POSTGRES_PASSWORD}"]
houdini_yeti: houdini_yeti:
image: houdini image: houdini
restart: always
networks: networks:
- wand - wand
ports: ports:
@ -128,29 +169,36 @@ services:
links: links:
- db:db - db:db
- redis:redis - redis:redis
command: ["dockerize", "-wait", "tcp://db:5432", "-wait", "tcp://redis:6379", "-wait-retry-interval", "3s", - houdini_login:login
"python", "bootstrap.py", "world", entrypoint: ["dockerize", "-wait", "tcp://login:${GAME_LOGIN_PORT}", "python", "bootstrap.py", "world"]
"-id", "3103", "--name", "yeti", "--port", "9878", "--lang", "fr", command: ["-id", "3103", "--name", "yeti", "--port", "9878", "--lang", "fr",
"--redis-address", "redis", "--redis-address", "redis",
"--database-address", "db", "--database-address", "db",
"--database-user", "postgres", "--database-user", "${POSTGRES_USER}",
"--database-password", "postgres"] "--database-password", "${POSTGRES_PASSWORD}"]
dash: dash:
build: ./dash build: ./dash
restart: always
networks: networks:
- wand - wand
env_file:
- .env
ports: ports:
- 3000 - 3000
volumes: volumes:
- ./dash:/usr/src/dash - ./dash:/usr/src/dash
- ./config.py:/usr/src/dash/config.py - ./vanilla-media/media/avatar/paper:/usr/src/dash/items
- ./templates/dash/config.py.template:/usr/src/dash/config.py.template
depends_on: depends_on:
- db - db
- redis - redis
links: links:
- db:db - db:db
command: dockerize -wait tcp://db:5432 python bootstrap.py -c config.py - houdini_login:login
entrypoint: ["dockerize", "-wait", "tcp://login:${GAME_LOGIN_PORT}",
"-template", "/usr/src/dash/config.py.template:/usr/src/dash/config.py",
"python", "bootstrap.py"]
command: ["-c", "config.py"]
networks: networks:
wand: wand: