commit 99e722680f61c2873bef35268a893d572efa4678 Author: Jean-Luc Makiola Date: Mon Oct 12 12:55:12 2026 +0200 init diff --git a/ftb-evolution-2/config/ops.json b/ftb-evolution-2/config/ops.json new file mode 100644 index 0000000..fe51488 --- /dev/null +++ b/ftb-evolution-2/config/ops.json @@ -0,0 +1 @@ +[] diff --git a/ftb-evolution-2/config/whitelist.json b/ftb-evolution-2/config/whitelist.json new file mode 100644 index 0000000..bb1974e --- /dev/null +++ b/ftb-evolution-2/config/whitelist.json @@ -0,0 +1,10 @@ +[ + { + "uuid": "ec4b7c86-6316-469e-bad1-715fe962600d", + "name": "Chiscrafter" + }, + { + "uuid": "0ffc5801-4512-460c-9d3d-7169b45c6413", + "name": "Yamaha55P" + } +] diff --git a/ftb-evolution-2/docker-compose.yml b/ftb-evolution-2/docker-compose.yml new file mode 100644 index 0000000..311ad54 --- /dev/null +++ b/ftb-evolution-2/docker-compose.yml @@ -0,0 +1,73 @@ +# FTB Evolution 2: Minecraft 26.1.2, NeoForge, Java 25 +# Pack: https://www.curseforge.com/minecraft/modpacks/ftb-evolution-2 +# Image docs: https://docker-minecraft-server.readthedocs.io +# +# Deploy from Git in Coolify: New Resource > Public Repository, +# build pack "Docker Compose", base directory "/ftb-evolution-2". +# Whitelist and ops live next to this file in ./config and are mounted read-only. +# Variables with ${NAME:-default} show up in Coolify's environment tab, +# so you can change them there without editing the file. + +services: + minecraft: + image: itzg/minecraft-server:java25 + restart: unless-stopped + stdin_open: true + tty: true + ports: + # Game port, published directly on the host (not through Coolify's proxy). + - "${MC_PORT:-25565}:25565" + environment: + EULA: "TRUE" + TZ: Europe/Berlin + + # Modpack install and updates (CurseForge API key is built into the image) + MODPACK_PLATFORM: AUTO_CURSEFORGE + CF_SLUG: ftb-evolution-2 + # Pinned to 1.1.0 (file ID 9119705) so updates never happen by surprise. + # Remove this line to always follow the latest release on restart. + CF_FILE_ID: "9119705" + + # Memory: the pack's own server config uses 8 GB for Java. + # The container needs headroom on top of that (hosts recommend 10 GB total). + MEMORY: ${MC_MEMORY:-8G} + USE_AIKAR_FLAGS: "true" + + # Server settings + MOTD: ${MC_MOTD:-FTB Evolution 2} + DIFFICULTY: ${MC_DIFFICULTY:-normal} + MAX_PLAYERS: ${MC_MAX_PLAYERS:-10} + VIEW_DISTANCE: ${MC_VIEW_DISTANCE:-10} + SIMULATION_DISTANCE: ${MC_SIMULATION_DISTANCE:-8} + + # Whitelist and ops come from ./config in this repo (mounted below). + # The repo is the source of truth: SYNCHRONIZE makes the server's file + # match it, so removing a player from the JSON removes them on the next + # deploy. Setting WHITELIST_FILE turns the whitelist on. + WHITELIST_FILE: /config-src/whitelist.json + EXISTING_WHITELIST_FILE: SYNCHRONIZE + ENFORCE_WHITELIST: "true" + OPS_FILE: /config-src/ops.json + EXISTING_OPS_FILE: SYNCHRONIZE + + volumes: + # World, configs and mods. Keep this volume when you switch to another game, + # so you can come back to the same world later. + - mc-data:/data + # Whitelist and ops from the repo + - ./config:/config-src:ro + # Only needed if the first start logs "Mods Need Download": download those + # files in a browser, put them in a folder on the VPS (not in the repo), + # and uncomment the next line with that absolute path. + # - /opt/mc-downloads:/downloads + + healthcheck: + # Modded first start (download + world generation) takes several minutes. + test: ["CMD", "mc-health"] + start_period: 15m + interval: 30s + timeout: 5s + retries: 20 + +volumes: + mc-data: