Files
chocopiesmp/docker-compose.yml
T
2026-10-21 20:39:48 +03:00

122 lines
3.1 KiB
YAML

services:
mc:
image: itzg/minecraft-server
tty: true
stdin_open: true
depends_on:
restore-backup:
condition: service_completed_successfully
user: "${UID}:${GID}"
ports:
- "${SERVER_PORT}:25565"
- "${VOICE_CHAT_PORT}:24454/udp"
- "${RCON_PORT}:25585"
- "${BLUEMAP_PORT}:8080"
- "${GEYSER_PORT}:19132/udp"
- "${IMAGEFRAME_PORT}:8517"
environment:
VERSION: "1.21.11"
ANNOUNCE_PLAYER_ACHIEVEMENTS: false
EULA: "TRUE"
TYPE: "PAPER"
PLUGINS: |
https://download.geysermc.org/v2/projects/geyser/versions/latest/builds/latest/downloads/spigot
https://download.geysermc.org/v2/projects/floodgate/versions/latest/builds/latest/downloads/spigot
MODRINTH_PROJECTS: |
viaversion
simple-voice-chat
squaremap
packetevents
voxy-server-side
skinsrestorer
vivecraft-spigot-extension
login-to
imageframe
essentialsx-chat-module
essentialsx
luckperms
viabackwards
gsit
seemore-next:alpha
vaultunlocked
REMOVE_OLD_MODS: false
COPY_CONFIG_DEST: "/data"
ONLINE_MODE: false
RCON_PASSWORD: ${RCON_PASSWORD}
RCON_PORT: ${RCON_PORT}
MAX_MEMORY: "4G"
SPAWN_PROTECTION: 0
ENABLE_WHITELIST: true
ENABLE_AUTOPAUSE: false
volumes:
- ./mc-data:/data
- ./mcserver:/config
restart: unless-stopped
networks:
- mc-network
monitor:
image: itzg/mc-monitor
command: export-for-prometheus
ports:
- "9090:8080"
environment:
EXPORT_SERVERS: mc
DEBUG: "true"
depends_on:
- mc
networks:
- mc-network
restore-backup:
# Same image as mc, but any base image with bash and tar will work
image: itzg/mc-backup
user: "${UID}:${GID}"
restart: "no"
entrypoint: restore-rsync-backup
volumes:
# Must be same mount as mc service, needs to be writable
- ./mc-data:/data
# Must be same mount as backups service, but can be read-only
- ./mc-backups:/backups:ro
networks:
- mc-network
backups:
image: itzg/mc-backup
user: "${UID}:${GID}"
depends_on:
mc:
condition: service_healthy
restart: unless-stopped
environment:
BACKUP_INTERVAL: "24h"
RCON_HOST: mc
# since this service waits for mc to be healthy, no initial delay is needed
INITIAL_DELAY: 0
PRUNE_BACKUPS_COUNT: 3
RCON_PASSWORD: ${RCON_PASSWORD}
RCON_PORT: 25585
BACKUP_METHOD: "rsync"
volumes:
- ./mc-data:/data:ro
- ./mc-backups:/backups
networks:
- mc-network
# broadcaster:
## image: ghcr.io/mcxboxbroadcast/standalone:latest
## user: "${UID}:${GID}"
## depends_on:
## #proxy:
## # condition: service_healthy
## mc:
## condition: service_healthy
## volumes:
## - ./mcxboxbroadcast/config:/opt/data/config
## networks:
## - mc-network
## restart: unless-stopped
networks:
mc-network:
driver: bridge