Files
Inanis_Vault/21-Server Reference/homelab/stacks/minecraft.md

2.4 KiB

Minecraft Server

Self-hosted Minecraft server running the TerraFirmaGreg: Modern modpack.

Access

  • Host: 192.168.2.114:25565 (LAN / Tailscale)
  • Voice Chat: 192.168.2.114:24454/udp

No Tailscale sidecar — ports are exposed directly on the host.

Containers

Container Image Role
minecraft itzg/minecraft-server:latest Game server

Compose File

Path: /Minecraft_Server/docker-compose.yaml

Note: This file lives outside the main DockerFiles directory. It is explicitly mounted into the Dockhand container so it can manage it.

services:
  mc:
    image: itzg/minecraft-server:latest
    container_name: minecraft
    mem_limit: 12g
    tty: true
    stdin_open: true
    ports:
      - 25565:25565
      - 24454:24454/udp  # Voice Chat
    volumes:
      - /Minecraft_Server/Minecraft_Server/data:/data
      - /Minecraft_Server/Minecraft_Server/modpacks:/modpacks:ro
      - /Minecraft_Server/Minecraft_Server/downloads:/downloads
    environment:
      EULA: TRUE
      TYPE: AUTO_CURSEFORGE
      VERSION: 1.20.1
      CF_API_KEY: <redacted>
      CF_PAGE_URL: "https://www.curseforge.com/minecraft/modpacks/terrafirmagreg-modern/files/7665541"
      CF_BASE_DIR: /data
      INIT_MEMORY: 8G
      MAX_MEMORY: 12G
      ENABLE_AUTOPAUSE: true
      MAX_TICK_TIME: -1
      AUTOPAUSE_TIMEOUT_INIT: 600    # 10 min before pausing on empty server (init)
      AUTOPAUSE_TIMEOUT_EST: 1800    # 30 min before pausing (established)
      ENABLE_ROLLING_LOGS: true
      LOG_TIMESTAMP: true
      MOTD: "Why does Pingle sound like Pringle. Does Sam own Pringles?"
    restart: unless-stopped

Data Layout

Path Contents
/Minecraft_Server/Minecraft_Server/data World saves, server config, plugins
/Minecraft_Server/Minecraft_Server/modpacks Modpack files (read-only)
/Minecraft_Server/Minecraft_Server/downloads CurseForge download cache

Notes

  • Uses itzg/minecraft-server with AUTO_CURSEFORGE type — it auto-downloads the modpack from CurseForge on startup if not already present
  • Modpack: TerraFirmaGreg: Modern (MC 1.20.1), pinned to a specific file ID (7665541)
  • Memory: 8 GB initial, 12 GB max (hard limit via mem_limit: 12g)
  • Auto-pause is enabled — server pauses after 30 minutes with no players, resumes on connection
  • MAX_TICK_TIME: -1 disables the watchdog timer (prevents server shutdown if a tick takes too long, common with heavy modpacks)