pandorabox.io/docker-compose.yml

191 lines
3.7 KiB
YAML

version: "2"
services:
minetest:
image: buckaroobanzay/minetest:5.3.0-r5
restart: always
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"
logging:
options:
max-size: 50m
postgres:
image: postgres:11.9
restart: always
shm_size: '2gb'
environment:
POSTGRES_PASSWORD: enter
volumes:
- "./data/postgres:/var/lib/postgresql/data"
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
depends_on:
- "minetest"
labels:
com.centurylinklabs.watchtower.enable: "true"
restart: always
beerchat-proxy:
image: beerchat/beerchat
depends_on:
- "minetest"
volumes:
- "./data/beerchat.json:/data/beerchat.json:ro"
labels:
com.centurylinklabs.watchtower.enable: "true"
restart: always
mapserver:
image: minetestmapserver/mapserver:latest
restart: always
labels:
com.centurylinklabs.watchtower.enable: "true"
depends_on:
- "postgres"
- "minetest"
volumes:
- "./data/minetest/world:/minetest"
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.19.3
networks:
- terminator
- default
restart: always
depends_on:
- highscore
- mapserver
- webmail
- wiki
- kv
- nodered
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/crashlogs:/crashlogs"
logging:
options:
max-size: 50m
highscore:
image: buckaroobanzay/xphighscore
restart: always
labels:
com.centurylinklabs.watchtower.enable: "true"
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
restart: always
labels:
com.centurylinklabs.watchtower.enable: "true"
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
kv:
image: anapsix/webdis
restart: always
environment:
- LOCAL_REDIS=true
nodered:
image: nodered/node-red:1.2.2-12-minimal
depends_on:
- postgres
- beerchat-proxy
restart: always
environment:
- TZ=Europe/Zurich
volumes:
- "./data/nodered:/data"
logging:
options:
max-size: 50m
networks:
terminator:
external: true