CURSEFORGE_FILES to a comma or space delimited list of project-file references.
References removed from the declaration are automatically cleaned up. Setting CURSEFORGE_FILES to an empty string removes all previously managed project-files.
Project-File References
CurseForge refers to mod/plugin versions broadly as “files” rather than “versions”. Individual project files typically represent a version of the mod/plugin. The following formats are supported:| Format | Description | Example |
|---|---|---|
| Project page URL | Auto-selects newest applicable file | https://www.curseforge.com/minecraft/mc-mods/jei |
| File page URL | Specific file | https://www.curseforge.com/minecraft/mc-mods/jei/files/4593548 |
| Project slug | Auto-selects newest applicable file | jei |
| Project ID | Auto-selects newest applicable file | 238222 |
| Project:File | Project slug/ID and file ID | jei:4593548 or 238222:4593548 |
| Project@Filename | Project slug/ID and partial filename | [email protected] |
| @Listing file | Path to a listing file | @/extras/cf-mods.txt |
When a specific file is omitted, the newest version is auto-selected based on your server’s
VERSION and TYPE.Basic Usage
Using Specific Versions
Reference specific file versions using file IDs or partial filenames:jeiuses specific file ID 4593548geckolibuses version matching “4.2.4” in the filenameaquacultureauto-selects the newest compatible version
Using Listing Files
For better organization, use a listing file with one project-file reference per line.Multi-Line in Docker Compose
Use YAML multi-line strings to organize your mods cleanly:Dependencies
The files processing can detect if a dependency is missing from your list and will warn you.Complete Example
Get a CurseForge API key
Create docker-compose.yml
- Downloads JEI (latest compatible version)
- Downloads Geckolib version matching “4.2.4”
- Downloads Aquaculture (latest compatible version)
- Downloads project 238222, file 4593548
Auto-Removal
Mods are automatically removed when you remove them fromCURSEFORGE_FILES.
Example:
Original configuration:
mods directory.
Setting
CURSEFORGE_FILES to an empty string removes all previously managed project-files:Finding Project Information
Project Slug
The project slug is in the URL:Project ID
Find the project ID on the right sidebar of the project page under “About Project”.File ID
Find the file ID in the URL when viewing a specific file:Environment Variables Reference
| Variable | Description | Required |
|---|---|---|
CURSEFORGE_FILES | Comma/space/newline separated list of project-file references | Yes |
CF_API_KEY | CurseForge API key | Yes |
CF_API_KEY_FILE | Path to file containing CurseForge API key | Alternative to CF_API_KEY |
Use
CF_API_KEY_FILE instead of CF_API_KEY for better security with Docker secrets or mounted key files.