Custom Server JAR
Run a custom server JAR file instead of downloading a standard server type.Must be set to
CUSTOM to use a custom server JARURL or container path to the custom server JAR file
Example
If it’s a URL, the JAR will only be downloaded if it doesn’t already exist in
/data. To upgrade or re-download, stop the container, remove the file, and restart.Force Server Re-download
Force re-download of the server file for certain server types.Force re-download of server file. Works with: VANILLA, FORGE, BUKKIT, SPIGOT, PAPER, CURSEFORGE, SPONGEVANILLA
Example with Paper
Interactive and Color Console
When RCON is enabled (default) and TTY is enabled on the container, some server types output colorized logs and provide a fully interactive console.To access the interactive console, use
docker attach (not exec). When finished, use Control-P, Control-Q to detach without stopping the container.- In compose: set the service’s
ttyparameter tofalse - With
docker run: remove the-targument
Logging Configuration
The image can use a templated log4j2 configuration based on PaperMC’s logging setup, automatically applied for versions that don’t require Log4j security patches.Enable templated log4j2 configuration with rolling logs and advanced features
This configures server logging only. To diagnose container startup, set
DEBUG=true.Log Level
Root logger level. Values:
trace, debug, info, warn, errorRolling Log Configuration
Pattern for rolled log file names
Maximum number of archived log files to keep
Log Message Formats
Customize log output using Log4j2 Pattern Layout syntax:Format for console output (visible in
docker logs)Format for file logs (written to
logs/latest.log)Format for interactive terminal console (used with
docker attach)- Simple Timestamp Customization
- Advanced Customization
Legacy option for backward compatibility. Rolling logs are now enabled by default through templated configuration.
HTTP Proxy
Configure HTTP/HTTPS proxy for server connections.Proxy host:port
Proxy host (separate from port)
Proxy port (separate from host)
Pipe-delimited list of hosts to exclude from proxying
Timezone Configuration
Configure timezone to match your locale
- Environment Variable
- Volume Mount
Download Extra Configs
Download additional configuration files for plugins or mods.Newline or comma-separated list of
path<url pairs to download configuration files- Multi-line Format
- Single Line Format
/data/ relative paths. Example: plugins/WorldEdit saves as /data/plugins/WorldEdit/config.yml.
Downloaded files can be further processed using environment variable replacement or patch definitions.
Init Log Timestamps
Include timestamps in init logs (before Minecraft server starts)
Without timestamps
With timestamps
Setup Only Mode
Setup server files and stop before launching the server process. Useful for host-attached data directories.
Example
Console Options
Some older Spigot versions (pre-1.14) require
--noconsole when detaching stdin. Set to false for those versions.Explicitly disable GUI interface. Some older servers get confused and think GUI is enabled.
Example
Health Monitoring
Configure health check monitoring for the Minecraft server.Host address of the Minecraft server for health monitoring
Port number for health monitoring
Example
Server Shutdown Options
How long (in seconds) to wait for graceful shutdown after sending stop command
Seconds to delay after shutdown announcement to allow players to finish activities
Example
SIGUSR1 signal:
Performance Optimization Flags
Flare Profiling
Enable JVM flags for Flare profiling suite. Built into Pufferfish/Purpur, available as plugin for others.
SIMD Operations
Enable optimized SIMD operations. Supported by Pufferfish and Purpur.
Debug Mode
Enable debug output for container startup diagnostics
Complete Example
compose.yaml