version: '3.7' services: db: image: postgres:12.2-alpine restart: always env_file: - .env networks: - wand ports: - 8051:5432 volumes: - ./houdini/houdini.sql:/docker-entrypoint-initdb.d/houdini.sql - ./.data:/var/lib/postgresql/data labels: net.unraid.docker.icon: https://raw.githubusercontent.com/solero/wand/refs/heads/master/icons/db.png redis: image: redis:5.0.9-alpine restart: always networks: - wand ports: - 6379 labels: net.unraid.docker.icon: https://raw.githubusercontent.com/solero/wand/refs/heads/master/icons/redis.png web: build: ./web restart: always env_file: - .env ports: - ${WEB_PORT}:80 networks: - wand links: - dash:dash volumes: - ./www:/usr/share/nginx/html - ./legacy-media:/usr/share/nginx/legacy - ./vanilla-media:/usr/share/nginx/vanilla - ./servers.xml:/t/servers.xml - ./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;"] labels: net.unraid.docker.webui: http://[IP]:[PORT:${WEB_PORT}] net.unraid.docker.icon: https://raw.githubusercontent.com/solero/wand/refs/heads/master/icons/houdini.png houdini_login: build: ./houdini restart: always env_file: - .env networks: - wand ports: - ${GAME_LOGIN_PORT}:${GAME_LOGIN_PORT} - 7112:7112 volumes: - ./houdini:/usr/src/houdini - ./wait-for-postgres.sh:/usr/src/houdini/wait-for-postgres.sh depends_on: - db - redis links: - db:db - redis:redis entrypoint: ["dockerize", "-wait", "tcp://redis:6379", "./wait-for-postgres.sh", "db", "python", "bootstrap.py", "login"] command: ["--port", "${GAME_LOGIN_PORT}", "--redis-address", "redis", "--database-address", "db", "--database-user", "${POSTGRES_USER}", "--database-name", "${POSTGRES_USER}", "--database-password", "${POSTGRES_PASSWORD}"] houdini_avalanche: build: ./houdini restart: always networks: - wand ports: - 9877:9877 - 10877:10877 volumes: - ./houdini:/usr/src/houdini depends_on: - houdini_login links: - db:db - redis:redis - houdini_login:login entrypoint: ["dockerize", "-wait", "tcp://login:${GAME_LOGIN_PORT}", "python", "bootstrap.py", "world"] command: ["-id", "3102", "--name", "avalanche", "--port", "9877", "--lang", "pt", "--redis-address", "redis", "--database-address", "db", "--database-user", "${POSTGRES_USER}", "--database-name", "${POSTGRES_USER}", "--database-password", "${POSTGRES_PASSWORD}"] dash: build: ./dash restart: always networks: - wand env_file: - .env ports: - 3000 volumes: - ./dash:/usr/src/dash - ./vanilla-media/media/avatar/paper:/usr/src/dash/items - ./templates/dash/config.py.template:/usr/src/dash/config.py.template depends_on: - db - redis links: - db:db - redis:redis - 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"] # snowflake: # build: ./snowflake # restart: always # networks: # - wand # ports: # - ${SNOWFLAKE_PORT}:${SNOWFLAKE_PORT} # env_file: # - .env # environment: # - POSTGRES_HOST=db:8051 # - REDIS_HOST=redis # - MEDIA_LOCATION=${WEB_VANILLA_MEDIA} # - PORT=${SNOWFLAKE_PORT} # volumes: # - ./snowflake:/usr/src/snowflake # - ./.env:/usr/src/snowflake/.env # depends_on: # - db # - redis # - dash # links: # - db:db # - redis:redis # - houdini_login:login # entrypoint: ["dockerize", "-wait", "tcp://login:${GAME_LOGIN_PORT}", "python", "./main.py"] networks: wand: driver: bridge