Files
ansible_fencl/docker-compose/docker-compose-minecraft.yml
T

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