Skip to main content
The SPIGET_RESOURCES variable automatically downloads Spigot/Bukkit/Paper plugins using the Spiget API. Resources that are zip files will be expanded into the plugins directory, and resources that are jar files will be moved there.
The variable is purposely spelled SPIGET with an “E” (not SPIGOT).

Finding Resource IDs

The resource ID is the numerical part of the SpigotMC URL after the shortname/slug and a dot. Example:
https://www.spigotmc.org/resources/luckperms.28140/
                                             ^^^^^
                                          Resource ID
For LuckPerms, the resource ID is 28140.

Basic Usage

Set SPIGET_RESOURCES to a comma-separated list of SpigotMC resource IDs.
environment:
  TYPE: PAPER
  SPIGET_RESOURCES: "28140,34315"
This example downloads:

Multiple Resources

You can specify multiple resource IDs in different formats:
environment:
  SPIGET_RESOURCES: |
    28140
    34315
    19254

Complete Example

1

Find plugin resource IDs

Visit SpigotMC Resources and find the plugins you want:
2

Create docker-compose.yml

services:
  minecraft:
    image: itzg/minecraft-server
    environment:
      EULA: "TRUE"
      TYPE: PAPER
      VERSION: "1.21"
      SPIGET_RESOURCES: |
        28140
        34315
        13932
    volumes:
      - minecraft-data:/data
    ports:
      - "25565:25565"

volumes:
  minecraft-data:
3

Start the server

docker compose up -d
The container will:
  1. Download each plugin from SpigotMC via Spiget
  2. Extract zip files or move jar files to /data/plugins
  3. Start the server
4

Verify installation

Check the logs to confirm plugin installation:
docker compose logs -f minecraft
You should see messages about the plugins being loaded.

Limitations

Some plugins don’t permit automated downloadsSome plugins, such as EssentialsX (resource ID 9089), do not allow automated downloads via Spiget.For these plugins, you must:
  1. Manually download the plugin jar file
  2. Place it in a local directory
  3. Mount that directory to the container
Example:
volumes:
  - ./plugins:/plugins:ro
  - minecraft-data:/data
See the overview page for more information about the /plugins mount point.
Here are some commonly used plugins:
Not all of these plugins may permit automated downloads. Check the plugin’s resource page for download restrictions.

Environment Variables Reference

VariableDescriptionRequired
SPIGET_RESOURCESComma-separated list of SpigotMC resource IDsYes

Combining with Other Methods

You can combine SPIGET_RESOURCES with other plugin installation methods:
environment:
  TYPE: PAPER
  VERSION: "1.21"
  # Spiget downloads
  SPIGET_RESOURCES: "28140,34315"
  # Direct URLs for plugins not on SpigotMC
  PLUGINS: |
    https://download.geysermc.org/v2/projects/geyser/versions/latest/builds/latest/downloads/spigot
    https://download.geysermc.org/v2/projects/floodgate/versions/latest/builds/latest/downloads/spigot
volumes:
  # Manually downloaded plugins
  - ./plugins:/plugins:ro
  - minecraft-data:/data
This configuration:
  1. Downloads LuckPerms and Vault via Spiget
  2. Downloads Geyser and Floodgate from direct URLs
  3. Copies plugins from local ./plugins directory
All plugin installation methods are processed in order:
  1. /plugins volume mount
  2. SPIGET_RESOURCES
  3. PLUGINS variable
  4. Other methods (Modrinth, etc.)

Build docs developers (and LLMs) love