Files
Season-4/compose.yaml

113 lines
2.5 KiB
YAML

services:
router:
image: itzg/mc-router
container_name: mc-router
restart: unless-stopped
ports:
- "25565:25565"
# bind the API port to only loopback to avoid external exposure
- "127.0.0.1:25564:25564"
networks:
- internal
environment:
TZ: Europe/Amsterdam
API_BINDING: ":25564"
MAPPING: |
mc.marijndoeve.nl=omb4:25565
omb.marijndoeve.nl=omb4:25565
server.harmitcraft.nl=omb4:25565
www.harmitcraft.nl=omb4:25565
10.0.0.21=omb4:25565
omb4:
image: docker.io/itzg/minecraft-server
container_name: mc-omb4
restart: unless-stopped
tty: true
stdin_open: true
depends_on:
- router
ports:
- "24454:24454/udp" # Voice mod
volumes:
- /srv/omb4/data:/data
- dynmap-data:/data/dynmap/web
environment:
EULA: "TRUE"
VERSION: 1.20.4
TYPE: FABRIC
DIFFICULTY: hard
INIT_MEMORY: 1G
MEMORY: 6G
SEED: "-1412583731547517931"
ENABLE_AUTOPAUSE: true
MAX_TICK_TIME: -1
REMOVE_OLD_DATAPACKS: true
VANILLATWEAKS_SHARECODE: "4T4SXc,4SfBGs,ABZj2f"
MODRINTH_PROJECTS: |
fabric-api
view-distance-fix:beta
simple-voice-chat
lithium
shulkerboxtooltip
audioplayer:alpha
dynmap:beta
no-trial-chambers
shulker+
MODRINTH_DOWNLOAD_DEPENDENCIES: required
web:
image: gitea.marijndoeve.nl/harmitcraft/dynmap-web:latest
restart: unless-stopped
container_name: mc-web
volumes:
- dynmap-data:/var/www/html:ro
depends_on:
- db
networks:
- web
- internal
labels:
- traefik.enable=true
- traefik.http.routers.ombweb.rule=Host(`mc.marijndoeve.nl`, `omb.marijndoeve.nl`, `map.harmitcraft.nl`)
- traefik.http.routers.ombweb.entrypoints=websecure
- traefik.http.routers.ombweb.tls.certresolver=marijndoeve
db:
image: postgres:16
container_name: mc-db4
environment:
TZ: Europe/Amsterdam
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
volumes:
- db-data:/var/lib/postgresql/data
restart: unless-stopped
networks:
- internal
monitor:
image: itzg/mc-monitor
container_name: mc-monitor
command: export-for-prometheus
restart: unless-stopped
environment:
EXPORT_SERVERS: mc-omb4
depends_on:
- omb4
networks:
- internal
- web
networks:
internal:
internal: true
web:
external: true
volumes:
dynmap-data:
db-data: