forked from jakub/ansible
76 lines
1.5 KiB
YAML
76 lines
1.5 KiB
YAML
services:
|
|
mc:
|
|
image: itzg/minecraft-server:2026.6.0-java17
|
|
container_name: mc-futurecraft
|
|
restart: unless-stopped
|
|
|
|
ports:
|
|
- "25565:25565"
|
|
|
|
environment:
|
|
EULA: "TRUE"
|
|
|
|
# CurseForge modpack
|
|
TYPE: "AUTO_CURSEFORGE"
|
|
CF_API_KEY: "${CF_API_KEY}"
|
|
CF_SLUG: "futurecraft-5-0"
|
|
CF_FILE_ID: "6103327"
|
|
|
|
# Server
|
|
MEMORY: "${MEMORY:-10G}"
|
|
LEVEL: "world"
|
|
DIFFICULTY: "normal"
|
|
VIEW_DISTANCE: "10"
|
|
SIMULATION_DISTANCE: "6"
|
|
MAX_PLAYERS: "5"
|
|
|
|
# RCON
|
|
ENABLE_RCON: "true"
|
|
RCON_PASSWORD: "${RCON_PASSWORD}"
|
|
|
|
# Authentication / whitelist
|
|
ONLINE_MODE: "FALSE"
|
|
ENABLE_WHITELIST: "TRUE"
|
|
|
|
volumes:
|
|
- mc_data:/data
|
|
|
|
|
|
backup:
|
|
image: itzg/mc-backup:latest
|
|
container_name: mc-futurecraft-backup
|
|
restart: unless-stopped
|
|
|
|
depends_on:
|
|
mc:
|
|
condition: service_healthy
|
|
|
|
environment:
|
|
SRC_DIR: "/data"
|
|
DEST_DIR: "/backups"
|
|
|
|
BACKUP_INTERVAL: "12h"
|
|
INITIAL_DELAY: "0"
|
|
|
|
# Delete backups older than 14 days
|
|
PRUNE_BACKUPS_DAYS: "14"
|
|
|
|
# Don't include generated/unnecessary directories
|
|
EXCLUDES: "backups,cache,logs"
|
|
|
|
# RCON connection to Minecraft
|
|
RCON_HOST: "mc"
|
|
RCON_PASSWORD: "${RCON_PASSWORD}"
|
|
|
|
volumes:
|
|
# Minecraft data only read-only for backup container
|
|
- mc_data:/data:ro
|
|
|
|
# Backups stored OUTSIDE Minecraft data volume
|
|
- /backups/minecraft-futurecraft:/backups
|
|
|
|
|
|
volumes:
|
|
mc_data:
|
|
external: true
|
|
name: docker-compose_mc_data |