200 lines
4.2 KiB
YAML
200 lines
4.2 KiB
YAML
version: "2"
|
|
|
|
services:
|
|
minetest:
|
|
image: buckaroobanzay/minetest:5.5.1-r1
|
|
restart: always
|
|
networks:
|
|
- terminator
|
|
- default
|
|
ports:
|
|
- "30000:30000/udp"
|
|
depends_on:
|
|
- "postgres"
|
|
volumes:
|
|
- "./data/minetest:/data"
|
|
- "./data/crashlogs:/crashlogs"
|
|
- "./data/minetest/debug.txt:/root/.minetest/debug.txt"
|
|
- "./config/metatool.cfg:/data/world/metatool.cfg"
|
|
- "./data/pandorabox-textures:/root/.minetest/textures/server"
|
|
- "postgres_socket:/var/run/postgresql"
|
|
logging:
|
|
options:
|
|
max-size: 50m
|
|
|
|
postgres:
|
|
image: postgres:13.2-alpine
|
|
restart: always
|
|
shm_size: '2gb'
|
|
environment:
|
|
POSTGRES_PASSWORD: enter
|
|
volumes:
|
|
- "./data/postgres:/var/lib/postgresql/data"
|
|
- "postgres_socket:/var/run/postgresql"
|
|
command:
|
|
- "postgres"
|
|
- "-c"
|
|
- "shared_buffers=4GB"
|
|
- "-c"
|
|
- "synchronous_commit=off"
|
|
logging:
|
|
options:
|
|
max-size: 50m
|
|
|
|
ui:
|
|
image: buckaroobanzay/mtui:1.5
|
|
environment:
|
|
WORLD_DIR: "/data/world"
|
|
COOKIE_DOMAIN: "pandorabox.io"
|
|
COOKIE_SECURE: "true"
|
|
COOKIE_PATH: "/ui"
|
|
volumes:
|
|
- "./data/minetest:/data"
|
|
- "postgres_socket:/var/run/postgresql"
|
|
|
|
auth-proxy:
|
|
image: minetestauth/minetest-auth-proxy:1.2
|
|
depends_on:
|
|
- "minetest"
|
|
restart: always
|
|
|
|
matterbridge:
|
|
image: 42wim/matterbridge:1.25.2
|
|
volumes:
|
|
- ./config/matterbridge.toml:/etc/matterbridge/matterbridge.toml
|
|
|
|
mapserver:
|
|
image: minetestmapserver/mapserver:latest
|
|
restart: always
|
|
depends_on:
|
|
- "postgres"
|
|
- "minetest"
|
|
volumes:
|
|
- "./data/minetest/world:/minetest"
|
|
- "postgres_socket:/var/run/postgresql"
|
|
working_dir: "/minetest"
|
|
logging:
|
|
options:
|
|
max-size: 50m
|
|
|
|
wiki:
|
|
image: buckaroobanzay/mediawiki:1.35-r1
|
|
restart: always
|
|
depends_on:
|
|
- "postgres"
|
|
- "auth-proxy"
|
|
volumes:
|
|
- "./data/wiki/images:/var/www/html/images"
|
|
- "./config/LocalSettings.php:/var/www/html/LocalSettings.php"
|
|
- "./data/wiki/LocalSettings.secrets.php:/var/www/html/LocalSettings.secrets.php"
|
|
|
|
logging:
|
|
options:
|
|
max-size: 50m
|
|
|
|
nginx:
|
|
image: nginx:1.23.1
|
|
networks:
|
|
- terminator
|
|
- default
|
|
restart: always
|
|
depends_on:
|
|
- highscore
|
|
- mapserver
|
|
- wiki
|
|
- kv
|
|
- nodered
|
|
- ui
|
|
labels:
|
|
- "traefik.enable=true"
|
|
- "traefik.docker.network=terminator"
|
|
- "traefik.http.routers.pandorabox.rule=Host(`pandorabox.io`)"
|
|
- "traefik.http.services.pandorabox.loadbalancer.server.port=80"
|
|
- "traefik.http.routers.pandorabox.entrypoints=websecure"
|
|
- "traefik.http.routers.pandorabox.tls.certresolver=default"
|
|
volumes:
|
|
- "./data/nginx/nginx.conf:/etc/nginx/nginx.conf:ro"
|
|
- "./data/nginx/htpasswd:/etc/nginx/htpasswd:ro"
|
|
- "./data/nginx/routes:/routes"
|
|
- "./data/nginx/html:/html"
|
|
- "./data/backup:/backup"
|
|
- "./data/crashlogs:/crashlogs"
|
|
logging:
|
|
options:
|
|
max-size: 50m
|
|
|
|
highscore:
|
|
image: buckaroobanzay/xphighscore:1.0
|
|
restart: always
|
|
volumes:
|
|
- "./data/minetest/world:/data/world:ro"
|
|
depends_on:
|
|
- postgres
|
|
environment:
|
|
PGHOST: postgres
|
|
PGUSER: postgres
|
|
PGDATABASE: postgres
|
|
PGPASSWORD: enter
|
|
PGPORT: 5432
|
|
|
|
manager:
|
|
image: buckaroobanzay/minetest_manager
|
|
depends_on:
|
|
- minetest
|
|
restart: always
|
|
volumes:
|
|
- "./data:/data"
|
|
environment:
|
|
- WORLDMODS_DIR=/data/minetest/world/worldmods
|
|
- WORLDMODS_BRANCH=master
|
|
- MEDIADIR=/data/nginx/html/media
|
|
- DEBUG_LOG=/data/minetest/debug.txt
|
|
- ERROR_LOG_OUTPUT=/data/nginx/html/error-log.txt
|
|
logging:
|
|
options:
|
|
max-size: 50m
|
|
|
|
autoupdate-textures:
|
|
image: buckaroobanzay/git_autoupdate
|
|
restart: always
|
|
volumes:
|
|
- "./data/pandorabox-textures:/git"
|
|
environment:
|
|
- GIT_DIR=/git
|
|
|
|
autoupdate-skins:
|
|
image: buckaroobanzay/git_autoupdate
|
|
restart: always
|
|
volumes:
|
|
- "./data/minetest/world/worldmods/skinsdb/textures:/git"
|
|
environment:
|
|
- GIT_DIR=/git
|
|
|
|
kv:
|
|
image: anapsix/webdis
|
|
restart: always
|
|
environment:
|
|
- LOCAL_REDIS=true
|
|
|
|
nodered:
|
|
image: nodered/node-red:2.2.2-12-minimal
|
|
depends_on:
|
|
- postgres
|
|
restart: always
|
|
environment:
|
|
- TZ=Europe/Zurich
|
|
volumes:
|
|
- "./data/nodered:/data"
|
|
- "./data/minetest:/minetest"
|
|
- "./config/nodered.js:/data/settings.js"
|
|
logging:
|
|
options:
|
|
max-size: 50m
|
|
|
|
volumes:
|
|
postgres_socket: {}
|
|
|
|
networks:
|
|
terminator:
|
|
external: true
|