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