Skip to content

Mods & Plugins Management ​

Automatically download and manage mods and plugins for your Minecraft servers.

Mods Tab

Overview ​

Minepanel integrates with popular mod platforms to auto-download mods, plugins, and datapacks at server startup.

PlatformBest ForAPI Key Required
ModrinthMods, datapacks, plugins❌ No
CurseForgeModpacks, modsâś… Yes
SpigetSpigot/Paper plugins❌ No

Learn More

For advanced options and all environment variables, see the docker-minecraft-server mods documentation.


Modrinth ​

Automatically download and manage mods, plugins, and datapacks from Modrinth.

Supported Server Types ​

  • âś… Fabric
  • âś… Forge
  • âś… CurseForge (AUTO_CURSEFORGE)

How to Add Mods from Minepanel ​

  1. Go to Create Server or Edit Server
  2. Open the Mods tab
  3. Find the Modrinth Projects field (blue border)
  4. Enter project slugs separated by commas or new lines
  5. Configure dependencies and version type if needed
  6. Save the server

Example input:

fabric-api
sodium
lithium
cloth-config

Datapacks from Modrinth ​

Modrinth also hosts datapacks. To install them, use the datapack: prefix:

In Minepanel (Modrinth Projects field):

fabric-api
sodium
datapack:terralith
datapack:incendium
datapack:nullscape:1.2.4

Syntax:

FormatExampleDescription
datapack:slugdatapack:terralithLatest version
datapack:slug:versiondatapack:terralith:2.5.5Specific version
datapack:slug:betadatapack:terralith:betaLatest beta

Vanilla Servers

For vanilla servers, the datapack: prefix is optional. The system auto-detects datapacks.

WARNING

Datapacks require a compatible Minecraft version. Check the datapack page on Modrinth for compatibility.

Project Reference Formats ​

The Modrinth Projects field accepts multiple formats:

FormatExampleDescription
Slugfabric-apiLatest release
Slug + versionfabric-api:0.119.2+1.21.4Specific version
Slug + version IDfabric-api:bQZpGIz0By version ID
Slug + release typefabric-api:betaLatest beta/alpha
Project IDP7dR8mSHUsing Modrinth ID
Loader overridefabric:fabric-apiForce loader type
Datapackdatapack:terralithInstall datapack

Configuration Options ​

FieldDescriptionDefault
Modrinth ProjectsList of mods/plugins/datapacks-
Dependenciesnone, required, or optionalnone
Version Typerelease, beta, or alpharelease

Auto-Removal

Mods removed from the list will be automatically deleted on next server start.

Docker Compose Reference ​

If you prefer to configure via docker-compose directly:

yaml
environment:
  TYPE: FABRIC
  VERSION: 1.21.4
  MODRINTH_PROJECTS: |
    fabric-api
    sodium
    datapack:terralith
  MODRINTH_DOWNLOAD_DEPENDENCIES: required
  MODRINTH_PROJECTS_DEFAULT_VERSION_TYPE: release
More docker-compose examples

Forge server with specific versions:

yaml
environment:
  TYPE: FORGE
  VERSION: 1.20.1
  MODRINTH_PROJECTS: |
    jei:10.2.1.1005
    geckolib
    create

Using a listing file:

Create /path/to/mods.txt:

# Performance mods
fabric-api
sodium
lithium

# Datapacks
datapack:terralith
datapack:incendium

Then mount and reference:

yaml
volumes:
  - ./mods-list:/extras:ro
environment:
  MODRINTH_PROJECTS: "@/extras/mods.txt"

CurseForge Modpacks ​

Install complete modpacks from CurseForge using the AUTO_CURSEFORGE server type.

API Key Required

You need a CurseForge API key. Get one from CurseForge for Studios.

Installation Methods in Minepanel ​

When creating/editing a server with type AUTO_CURSEFORGE, you can choose between 3 methods:

MethodAuto-updates?Use case
URLâś… YesAlways get the latest compatible version
Slug❌ NoLock to a specific file version
File❌ NoUse a local modpack zip file
  1. Select URL as installation method
  2. Paste the modpack page URL from CurseForge
  3. On each server start, it downloads the latest compatible version

Example URL:

https://www.curseforge.com/minecraft/modpacks/all-the-mods-9

TIP

Use URL method if you want automatic updates when the modpack releases new versions.

Method: Slug (Lock specific version) ​

  1. Select Slug as installation method
  2. Enter the modpack slug (e.g., all-the-mods-9)
  3. Enter the File ID for the specific version you want

How to find the File ID:

  1. Go to the modpack page on CurseForge
  2. Click on "Files" tab
  3. Click on the version you want
  4. The File ID is in the URL: .../files/5765432 → File ID is 5765432

WARNING

With Slug method, the version never updates automatically. You must manually change the File ID to update.

Method: File (Local modpack) ​

  1. Select File as installation method
  2. Upload/mount your modpack zip to the server
  3. Enter the file pattern (e.g., *.zip)

Useful for modpacks downloaded manually or custom modpacks.

Browse Modpacks ​

Minepanel includes a Browse button to search CurseForge modpacks directly from the UI. Click it to find and select modpacks without leaving the panel.


CurseForge Files (Individual Mods) ​

Download specific mods/plugins from CurseForge to add to any modded server.

API Key Required

Same API key as modpacks. Get one from CurseForge for Studios.

How to Add Mods from Minepanel ​

  1. Go to Create Server or Edit Server (Forge, Fabric, or AUTO_CURSEFORGE)
  2. Open the Mods tab
  3. Find the CurseForge Files field (green border)
  4. Enter mod slugs separated by commas or new lines
  5. Save the server

Example input:

jei
geckolib
aquaculture

Reference Formats ​

FormatExampleDescription
SlugjeiLatest compatible version
Slug + File IDjei:4593548Specific version
Slug + versionjei@10.2.1.1005By partial filename
Project ID238222Using CurseForge ID
URLhttps://curseforge.com/.../jeiFrom page URL

Auto-Selection

Without a File ID, the newest compatible file for your Minecraft version is selected automatically.

Docker Compose Reference ​

Docker-compose examples

Basic mod list:

yaml
environment:
  CF_API_KEY: $2a$10$Iao...
  CURSEFORGE_FILES: |
    jei
    geckolib
    aquaculture

Specific versions:

yaml
environment:
  CURSEFORGE_FILES: |
    jei:4593548
    geckolib@4.2.1

Using listing file:

yaml
volumes:
  - ./cf-list:/extras:ro
environment:
  CURSEFORGE_FILES: "@/extras/cf-mods.txt"

Combining Modrinth and CurseForge ​

You can use both Modrinth and CurseForge Files together:

yaml
environment:
  TYPE: FABRIC
  VERSION: 1.21.4

  # Modrinth mods (preferred for performance)
  MODRINTH_PROJECTS: |
    fabric-api
    sodium
    lithium
  MODRINTH_DOWNLOAD_DEPENDENCIES: required
  # CurseForge exclusive mods
  CF_API_KEY: your_key
  CURSEFORGE_FILES: |
    some-cf-exclusive-mod
    another-cf-mod

Version Compatibility

Always ensure mods from both sources are compatible with your Minecraft version and loader type.

Plugin Management (Spigot/Paper/etc) ​

For plugin-based servers (Spigot, Paper, Bukkit, etc.), you can use Spiget:

yaml
environment:
  TYPE: PAPER
  VERSION: 1.21.4
  SPIGET_RESOURCES: |
    9089
    28140
    34315

Where the numbers are Spigot resource IDs from SpigotMC.

Best Practices ​

  1. Use Modrinth when possible - Generally faster and more reliable
  2. Specify versions for production servers to avoid unexpected updates
  3. Test in development before applying to production
  4. Keep API keys secure - Use environment variables, never commit them
  5. Use listing files for easier management of large mod lists
  6. Document your mods - Add comments in listing files to explain what each mod does

Troubleshooting ​

Mods not downloading ​

  • Check API key is correct
  • Verify project slugs/IDs are correct
  • Check server logs for specific errors
  • Ensure network connectivity

Version conflicts ​

  • Make sure all mods are compatible with your Minecraft version
  • Check mod loader compatibility (Fabric vs Forge)
  • Review dependency requirements

Missing dependencies ​

  • For Modrinth: Set MODRINTH_DOWNLOAD_DEPENDENCIES: required
  • For CurseForge: Manually add dependencies to your list

Next Steps ​

Released under the MIT License.