Modpack Platforms
The easiest way to work with mods and plugins, especially large numbers of them, is to utilize modpacks with one of the supported modpack platforms:Download Automation
This image provides several automated download options for mods and plugins:- Modrinth - Auto-download from Modrinth’s open source platform
- CurseForge - Auto-download from CurseForge
- Spiget - Auto-download SpigotMC plugins
- Packwiz - Use packwiz modpack definitions
- Generic Packs - Install from zip/tgz archives
Mods vs Plugins
Understanding the difference between mods and plugins is important: Mods are used by server types that run client-side to modify rendering, add new blocks, and add behaviors: Mods typically need to be installed on both client and server, though some are server-only. Plugins are used by server types that only run on servers to add behaviors and commands: Plugins only need to be installed on the server and are never needed on the client. Hybrid Servers like Magma can use both mods and plugins simultaneously.Volume Mount Points
You can attach volumes to supply content that will be copied into the server:/plugins
Content in this directory is synchronized into/data/plugins for plugin-based server types.
For special cases:
- Change source with
COPY_PLUGINS_SRC - Change destination with
COPY_PLUGINS_DEST - For hybrid mod loaders like Cardboard, set
USES_PLUGINS=true
/mods
Content in this directory is synchronized into/data/mods for mod-based server types.
For special cases:
- Change source with
COPY_MODS_SRC - Change destination with
COPY_MODS_DEST
/config
Contents are synchronized into/data/config by default.
Configuration options:
- Change source with
COPY_CONFIG_SRC - Change destination with
COPY_CONFIG_DEST - Set
SYNC_SKIP_NEWER_IN_DESTINATION=falseto prioritize/configfiles over newer destination files
REPLACE_ENV_SUFFIXES (default: “yml,yaml,txt,cfg,conf,properties,hjson,json,tml,toml”). Disable with REPLACE_ENV_DURING_SYNC=false.
Multiple Source Directories
COPY_PLUGINS_SRC, COPY_MODS_SRC, and COPY_CONFIG_SRC can each be set to a comma or newline delimited list of container directories.
Removing Old Mods/Plugins
To remove old mods/plugins before copying new content, setREMOVE_OLD_MODS=TRUE.
| Variable | Description | Default |
|---|---|---|
REMOVE_OLD_MODS_INCLUDE | Comma-separated glob patterns to include | *.jar |
REMOVE_OLD_MODS_EXCLUDE | Comma-separated glob patterns to exclude | None |
REMOVE_OLD_MODS_DEPTH | Maximum directory depth | 16 |
Individual Mods/Plugins List
Download or copy individual mods/plugins usingMODS or PLUGINS environment variables.
Each can be a comma or newline delimited list of:
- URL of a jar file
- Container path to a jar file
- Container path to a directory containing jar files
Auto-removal: Entries removed from the
MODS or PLUGINS list will be automatically removed from the mods or plugins directory. An empty list removes all mods/plugins.Disable processing: Comment out the MODS or PLUGINS environment variable to temporarily disable processing.URL Listing Files
As an alternative toMODS/PLUGINS, use MODS_FILE or PLUGINS_FILE with the container path or URL of a text file listing mod/plugin URLs.
Blank lines and lines starting with
# are ignored.Applying Extra Configuration Files
Download or copy additional configuration files before server startup usingAPPLY_EXTRA_FILES.
The format uses < to separate destination path and source URL/path. Destination paths are relative to /data.
APPLY_EXTRA_FILES is processed before patch processing, so it can provide baseline files to be patched at runtime.Zip File Modpack
Specify a URL or container path of a “mod pack” to download and install intomods for Forge/Fabric or plugins for Bukkit/Spigot.