pandorabox.io/docker-compose.yml

202 lines
4.0 KiB
YAML

version: "2"
services:
minetest:
image: buckaroobanzay/minetest:5.4.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
postgres-exporter:
image: wrouesnel/postgres_exporter:v0.8.0
restart: always
environment:
- DATA_SOURCE_URI=postgres:5432/postgres?sslmode=disable
- DATA_SOURCE_USER=postgres
- DATA_SOURCE_PASS=enter
depends_on:
- postgres
auth-proxy:
image: minetestauth/minetest-auth-proxy:1.1
depends_on:
- "minetest"
restart: always
beerchat-proxy:
image: beerchat/beerchat:1.0
depends_on:
- "minetest"
volumes:
- "./config/beerchat.js:/data/beerchat.js:ro"
restart: always
mapserver:
image: minetestmapserver/mapserver:4.3
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/php
restart: always
depends_on:
- "postgres"
- "auth-proxy"
volumes:
- "./data/wiki/extensions:/var/www/html/extensions"
- "./data/wiki/images:/var/www/html/images"
- "./data/wiki/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.21.0
networks:
- terminator
- default
restart: always
depends_on:
- highscore
- mapserver
- webmail
- wiki
- kv
- nodered
- postgres-exporter
environment:
VIRTUAL_PORT: 80
VIRTUAL_HOST: pandorabox.io
LETSENCRYPT_HOST: pandorabox.io
LETSENCRYPT_EMAIL: thomas@rudin.io
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
restart: always
volumes:
- "./data/minetest/world:/data/world:ro"
depends_on:
- postgres
environment:
PGHOST: postgres
PGUSER: postgres
PGDATABASE: postgres
PGPASSWORD: enter
PGPORT: 5432
webmail:
image: minetestmail/mail:1.2
restart: always
depends_on:
- minetest
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
kv:
image: anapsix/webdis
restart: always
environment:
- LOCAL_REDIS=true
nodered:
image: nodered/node-red:1.3.5-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