# Example environment variables for Docker Compose # Copy this file to .env and customize as needed # # Best Practice: Use .env file instead of hardcoding values in docker-compose.yml # Note: .env file should NOT be committed to version control # Memory Configuration # Uncomment to manually override automatic RAM detection # Value in GB without 'G' suffix (e.g., 6 for 6GB heap) # MEMORY_GB=6 # Maximum heap size cap (default: 12GB) # Aikar recommends 6-10GB for most servers, rarely beneficial above 12GB # Only increase for heavy modpacks (e.g., 200+ mods) # MAX_MEMORY_GB=16 # Garbage Collector Mode # aikar - (default) Aikar's G1GC flags. Safe for vanilla/Paper. # shenandoah - Generational Shenandoah. Recommended for Folia on hosts with # ≥16 logical cores AND ≥16GB heap. On smaller hosts it is # marginal vs G1GC (the script prints a one-shot note). # ConcGCThreads auto-scales at ~1 per 8 logical cores. # GC_MODE=aikar # Netty IO thread count # Not an env var — Paper/Folia builds its own NioEventLoopGroup and # ignores the -Dio.netty.eventLoopThreads JVM property. Set it in # spigot.yml instead: # # settings: # netty-threads: 1 # # Default is one per logical CPU, which on small hosts starves the # region scheduler. For whitelist servers, 1–2 is plenty. # Modpack Launch Args File (manual override) # Auto-detected for NeoForge (1.20.2+) and legacy Forge (1.17–1.20.1) modpacks # installed via FTB / CurseForge / ATLauncher. Only set this if your modpack # uses a non-standard layout the auto-detection misses. # Path must be inside the container, i.e. under /server. # JAVA_ARGS_FILE=/server/libraries/net/neoforged/neoforge/20.4.239/unix_args.txt # Timezone Configuration TZ=UTC # Port Mappings (if you need to change default ports) # MINECRAFT_PORT=25565 # RCON_PORT=25575 # Container Configuration # CONTAINER_NAME=minecraft-server