Add release selection for the GitHub-released server types (#4339)

This commit is contained in:
Fewwan authored and GitHub committed 2026-10-18 17:40:51 -05:00
1 parent 2ae1097bb9
commit dbb0909282
24 files changed
+225 -63

No files matched your search

@@ -35,6 +35,8 @@ There are limited base versions supported, so you will also need to set `VERSIO
Available Ketting Versions may be found at [https://reposilite.c0d3m4513r.com/#/Ketting-Server-Releases/org/kettingpowered/server/forge](https://reposilite.c0d3m4513r.com/#/Ketting-Server-Releases/org/kettingpowered/server/forge).
The Version structure is `MinecraftVersion-ForgeVersion-KettingVersion` (e.g. `1.20.1-47.2.20-0.1.4` is for Minecraft `1.20.1`, Forge `47.2.20` and Ketting `0.1.4`).
The launcher itself defaults to the latest release; set `KETTING_RELEASE` to a [specific release](https://github.com/kettingpowered/kettinglauncher/releases) tag, such as `v1.5.1`, to download that one instead.
### Mohist
A [Mohist](https://github.com/MohistMC/Mohist) server can be used with
@@ -83,3 +85,5 @@ A [Arclight](https://arclight.izzel.io/) type server can be used with
-e TYPE=ARCLIGHT
-e ARCLIGHT_TYPE=NEOFORGE,FORGE,FABRIC
By default the latest release is used; set `ARCLIGHT_RELEASE` to a [specific release](https://github.com/IzzelAliz/Arclight/releases) tag, such as `FeudalKings/1.0.1`, to run that one instead. A `VERSION` is still required to select the matching jar within the release.
@@ -47,6 +47,28 @@ Note: it is a fork of the original [NanoLimbo](https://github.com/Nan1t/NanoLimb
An alternate Limbo server
Configuration options with defaults:
- `NANOLIMBO_RELEASE`=latest
The [NanoLimbo release](https://github.com/BoomEaro/NanoLimbo/releases) to download the server jar from, such as `1.13.0`.
## Poseidon
A [Poseidon](https://github.com/retromcorg/Project-Poseidon) server can be run by setting `TYPE` to `POSEIDON`.
Poseidon is only available for b1.7.3, so be sure to set `VERSION=b1.7.3`.
Configuration options with defaults:
- `POSEIDON_RELEASE`=latest
The [Poseidon release](https://github.com/retromcorg/Project-Poseidon/releases) to download, such as `1.1.12-260720-1033-5303bd5`.
- `POSEIDON_TYPE`=poseidon
Set to `uberbukkit` to use the [uberbukkit](https://github.com/Moresteck/uberbukkit) fork instead, whose releases are also selectable with `POSEIDON_RELEASE`.
## Crucible
A [Crucible](https://github.com/CrucibleMC/Crucible) server can be run by setting `TYPE` to `CRUCIBLE`.
@@ -55,6 +77,8 @@ Configuration options with defaults:
- `CRUCIBLE_RELEASE`=latest
The [Crucible release](https://github.com/CrucibleMC/Crucible/releases) to run, such as `v5.4`. Since `latest` only tracks full releases, a pre-release such as a `staging-*` tag has to be named explicitly.
Crucible is only available for 1.7.10, so be sure to set `VERSION=1.7.10`.
## Custom
@@ -79,7 +103,7 @@ Alternatively, the final `-jar` invocation can be replaced by setting `CUSTOM_JA
A [Pumpkin](https://pumpkinmc.org/) server can be run by setting `TYPE` to `PUMPKIN`.
Pumpkin is a Minecraft server written in Rust and is shipped as a single native executable instead of a Java jar. The image downloads the asset matching its architecture from the [latest release](https://github.com/Pumpkin-MC/Pumpkin/releases), so `VERSION` and the JVM memory and tuning variables do not apply.
Pumpkin is a Minecraft server written in Rust and is shipped as a single native executable instead of a Java jar. The image downloads the asset matching its architecture from the [latest release](https://github.com/Pumpkin-MC/Pumpkin/releases), so `VERSION` and the JVM memory and tuning variables do not apply. Set `PUMPKIN_RELEASE` to run a different release.
```shell
docker run -d --pull=always -v /path/on/host:/data \
@@ -93,6 +117,12 @@ Configuration options with defaults:
Set to true to re-download the executable.
- `PUMPKIN_RELEASE`=latest
The [Pumpkin release](https://github.com/Pumpkin-MC/Pumpkin/releases) to run, such as `0.2.0+26.3-26.51`, or a moving prerelease channel like `nightly` or `canary`. `VERSION` selects the Minecraft version for other server types, so it is ignored here.
Each release is downloaded to `/data/pumpkin-<arch>-Linux`, and switching `PUMPKIN_RELEASE` replaces that executable. Set `FORCE_REDOWNLOAD=true` to re-download the selected release, which is useful to pick up a newer `nightly` or `canary` build.
Pumpkin is configured through `/data/pumpkin.toml`. The image creates that file on the first run and updates the settings below at each startup, leaving the remaining options in your file alone. Anything without a matching environment variable can be set by editing `pumpkin.toml` directly.
| Variable | Pumpkin setting |