MODPACK_PLATFORM, MOD_PLATFORM or TYPE to AUTO_CURSEFORGE.
The appropriate mod loader (Forge/Fabric) version is automatically installed as declared by the modpack. This mode also cleans up unused files from previous versions, but world data is never auto-removed.
API Key Required
Escaping Dollar Signs
When entering your API key in a Docker Compose file, escape any$ character with a second $:
compose.yaml
docker run, use single quotes:
Using .env Files (Recommended)
To avoid exposing the API key, use a.env file which is loaded automatically by Docker Compose.
Create .env file
Create a
.env file in the same directory as your compose.yaml:You do not need to escape
$ characters in the .env file when wrapped in single quotes.docker run, specify the .env file explicitly:
Using Docker Secrets
Alternatively, use Docker secrets:compose.yaml
Environment Variables
| Variable | Required | Description |
|---|---|---|
TYPE | Yes | Set to AUTO_CURSEFORGE |
CF_API_KEY | Yes | CurseForge API key |
CF_PAGE_URL | * | Modpack or file page URL |
CF_SLUG | * | Modpack slug from URL |
CF_FILE_ID | No | Numerical file ID for specific version |
CF_FILENAME_MATCHER | No | Substring to match desired filename |
CF_MODPACK_ZIP | No | Container path to unpublished modpack ZIP |
CF_MODPACK_MANIFEST | No | Container path to modpack manifest JSON |
CF_EXCLUDE_MODS | No | Comma/space delimited list of mod slugs/IDs to exclude |
CF_FORCE_INCLUDE_MODS | No | Comma/space delimited list of mod slugs/IDs to include |
CF_EXCLUDE_ALL_MODS | No | Exclude all mods (default: false) |
CF_EXCLUDE_INCLUDE_FILE | No | Path to JSON file with exclude/include rules |
CF_OVERRIDES_EXCLUSIONS | No | Ant-style paths to exclude from overrides |
CF_IGNORE_MISSING_FILES | No | Glob pattern of files to ignore if missing |
CF_SET_LEVEL_FROM | No | Set LEVEL from WORLD_FILE or OVERRIDES |
CF_PARALLEL_DOWNLOADS | No | Number of parallel downloads (default: 4) |
CF_OVERRIDES_SKIP_EXISTING | No | Skip existing files in overrides (default: false) |
CF_FORCE_SYNCHRONIZE | No | Force re-evaluation of excludes/includes |
CF_FORCE_REINSTALL_MODLOADER | No | Force modloader reinstall (default: false) |
CF_DOWNLOADS_REPO | No | Path for manual downloads (default: /downloads) |
CF_MOD_LOADER_VERSION | No | Override mod loader version |
- Either
CF_PAGE_URLorCF_SLUGis required to identify the modpack
Specifying the Modpack
Using Page URL
Pass the modpack page URL or a specific file URL:Using Slug
The slug is the short identifier in the URL after/modpacks/:
Pinning Versions
By default, the latest modpack file and mod loader are installed on startup (with automatic upgrading). To pin to a specific version:Using File ID
Using Filename Matcher
Using Specific File URL
Examples
Custom Mod Loader Versions
Override the modpack’s declared mod loader version:Manual Downloads
For mods/modpacks not allowed for automated download, attach the/downloads container path:
The subdirectories
mods, modpacks, and worlds are also checked. To change the location, set CF_DOWNLOADS_REPO. To disable, set it to an empty string.
Unpublished Modpacks
For unpublished modpack ZIPs or custom manifests:The modpack slug or page URL must still be provided even when using
CF_MODPACK_ZIP or CF_MODPACK_MANIFEST.Excluding Client Mods
Exclude mods that aren’t server-compatible:Comments can be embedded in the list using the
# character.Finding Project IDs
A mod’s project ID is shown on the right side of the project page.Force Including Mods
For mods incorrectly tagged as client-only:Excluding Overrides Files
Modpack ZIPs include anoverrides subdirectory with config files, world data, and extra mods. Exclude specific files using ant-style paths:
Ant-style Path Patterns
| Symbol | Behavior |
|---|---|
* | Matches zero, one, or many characters except a slash |
** | Matches zero, one, or many characters including slashes |
? | Matches one character |
World/Level Data
Some modpacks include world data via worlds file or overrides. Set theLEVEL automatically:
Ignoring Missing Files
Some mods use temporary files that get deleted, like gregtech. Prevent re-installation:A warning log will indicate missing files:
Extra Options
Parallel Downloads
Control concurrent mod downloads:Skip Existing Overrides
Skip files in overrides that already exist:World data is always skipped if present.
Force Reinstall Modloader
Force modloader reinstallation if files are corrupted:Troubleshooting
Most modpacks require significant memory. Set
MEMORY to at least 4G.Be sure to use the appropriate image tag for the Java version compatible with the modpack.