Compare commits

..

9 Commits

Author SHA1 Message Date
Geoff Bourne
3cd3656868 Consider MODRINTH_PROJECTS_DEFAULT_VERSION_TYPE as part of VERSION_FROM_MODRINTH_PROJECTS (#3985) 2026-03-22 19:52:07 -05:00
renovate[bot]
387c674849 chore(deps): update dependency itzg/mc-image-helper to v1.55.3 (#3984)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-22 08:45:41 -05:00
Geoff Bourne
fba656561f Add image variant java25-alpine (#3980) 2026-03-17 21:06:00 -05:00
Geoff Bourne
cf8ab31e25 Apply logging prefix on output from DEBUG_MEMORY (#3975) 2026-03-17 08:04:46 -05:00
dependabot[bot]
68bb650617 build(deps): bump the patches group in /docs with 2 updates (#3976) 2026-03-16 07:30:31 -05:00
renovate[bot]
c5a298fa05 chore(deps): update dependency itzg/rcon-cli to v1.7.4 (#3973) 2026-03-13 07:30:23 -05:00
Geoff Bourne
5dff0b8541 notes: removed start-setupForgeApiMods from start flow diagram (#3972) 2026-03-12 16:08:06 -05:00
renovate[bot]
9c9a3a8b43 chore(deps): update dependency itzg/mc-server-runner to v1.14.3 (#3971) 2026-03-10 22:23:09 -05:00
dependabot[bot]
3bbe3b7c80 build(deps): bump platformdirs from 4.9.2 to 4.9.4 in /docs in the patches group (#3970) 2026-03-09 07:31:56 -05:00
9 changed files with 46 additions and 27 deletions

View File

@@ -27,6 +27,7 @@ jobs:
# NOTE: the "latest" variant is identified in the Docker meta step's 'latest' config # NOTE: the "latest" variant is identified in the Docker meta step's 'latest' config
variant: variant:
- java25 - java25
- java25-alpine
- java25-jdk - java25-jdk
- java21 - java21
- java21-alpine - java21-alpine
@@ -42,6 +43,10 @@ jobs:
baseImage: eclipse-temurin:25-jre baseImage: eclipse-temurin:25-jre
platforms: linux/amd64,linux/arm64 platforms: linux/amd64,linux/arm64
mcVersion: latest mcVersion: latest
- variant: java25-alpine
baseImage: eclipse-temurin:25-jre-alpine
platforms: linux/amd64,linux/arm64
mcVersion: latest
- variant: java25-jdk - variant: java25-jdk
baseImage: eclipse-temurin:25 baseImage: eclipse-temurin:25
platforms: linux/amd64,linux/arm64 platforms: linux/amd64,linux/arm64
@@ -138,7 +143,7 @@ jobs:
uses: docker/setup-qemu-action@v3.7.0 uses: docker/setup-qemu-action@v3.7.0
- name: Build for test - name: Build for test
uses: docker/build-push-action@v7.0.0 uses: docker/build-push-action@v6.19.2
with: with:
platforms: linux/amd64 platforms: linux/amd64
tags: ${{ env.IMAGE_TO_TEST }} tags: ${{ env.IMAGE_TO_TEST }}
@@ -178,7 +183,7 @@ jobs:
password: ${{ github.token }} password: ${{ github.token }}
- name: Build and push - name: Build and push
uses: docker/build-push-action@v7.0.0 uses: docker/build-push-action@v6.19.2
if: github.actor == github.repository_owner if: github.actor == github.repository_owner
with: with:
platforms: ${{ matrix.platforms }} platforms: ${{ matrix.platforms }}

View File

@@ -23,7 +23,7 @@ jobs:
matrix: matrix:
variant: variant:
- java25 - java25
- java21-alpine - java25-alpine
- java17 - java17
- java8 - java8
include: include:
@@ -32,8 +32,8 @@ jobs:
baseImage: eclipse-temurin:25-jre baseImage: eclipse-temurin:25-jre
platforms: linux/amd64,linux/arm64 platforms: linux/amd64,linux/arm64
mcVersion: latest mcVersion: latest
- variant: java21-alpine - variant: java25-alpine
baseImage: eclipse-temurin:21-jre-alpine baseImage: eclipse-temurin:25-jre-alpine
platforms: linux/amd64,linux/arm64 platforms: linux/amd64,linux/arm64
mcVersion: latest mcVersion: latest
# JAVA 17: # JAVA 17:
@@ -62,7 +62,7 @@ jobs:
uses: docker/setup-buildx-action@v3.12.0 uses: docker/setup-buildx-action@v3.12.0
- name: Confirm multi-arch build - name: Confirm multi-arch build
uses: docker/build-push-action@v7.0.0 uses: docker/build-push-action@v6.19.2
with: with:
platforms: ${{ matrix.platforms }} platforms: ${{ matrix.platforms }}
# ensure latest base image is used # ensure latest base image is used
@@ -73,7 +73,7 @@ jobs:
cache-from: type=gha,scope=${{ matrix.variant }} cache-from: type=gha,scope=${{ matrix.variant }}
- name: Build for test - name: Build for test
uses: docker/build-push-action@v7.0.0 uses: docker/build-push-action@v6.19.2
with: with:
# Only build single platform since loading multi-arch image into daemon fails with # Only build single platform since loading multi-arch image into daemon fails with
# "docker exporter does not currently support exporting manifest lists" # "docker exporter does not currently support exporting manifest lists"

View File

@@ -37,7 +37,7 @@ RUN easy-add --var os=${TARGETOS} --var arch=${TARGETARCH}${TARGETVARIANT} \
--from ${GITHUB_BASEURL}/itzg/{{.app}}/releases/download/{{.version}}/{{.app}}_{{.version}}_{{.os}}_{{.arch}}.tar.gz --from ${GITHUB_BASEURL}/itzg/{{.app}}/releases/download/{{.version}}/{{.app}}_{{.version}}_{{.os}}_{{.arch}}.tar.gz
# renovate: datasource=github-releases packageName=itzg/rcon-cli # renovate: datasource=github-releases packageName=itzg/rcon-cli
ARG RCON_CLI_VERSION=1.7.3 ARG RCON_CLI_VERSION=1.7.4
RUN easy-add --var os=${TARGETOS} --var arch=${TARGETARCH}${TARGETVARIANT} \ RUN easy-add --var os=${TARGETOS} --var arch=${TARGETARCH}${TARGETVARIANT} \
--var version=${RCON_CLI_VERSION} --var app=rcon-cli --file {{.app}} \ --var version=${RCON_CLI_VERSION} --var app=rcon-cli --file {{.app}} \
--from ${GITHUB_BASEURL}/itzg/{{.app}}/releases/download/{{.version}}/{{.app}}_{{.version}}_{{.os}}_{{.arch}}.tar.gz --from ${GITHUB_BASEURL}/itzg/{{.app}}/releases/download/{{.version}}/{{.app}}_{{.version}}_{{.os}}_{{.arch}}.tar.gz
@@ -49,13 +49,13 @@ RUN easy-add --var os=${TARGETOS} --var arch=${TARGETARCH}${TARGETVARIANT} \
--from ${GITHUB_BASEURL}/itzg/{{.app}}/releases/download/{{.version}}/{{.app}}_{{.version}}_{{.os}}_{{.arch}}.tar.gz --from ${GITHUB_BASEURL}/itzg/{{.app}}/releases/download/{{.version}}/{{.app}}_{{.version}}_{{.os}}_{{.arch}}.tar.gz
# renovate: datasource=github-releases packageName=itzg/mc-server-runner # renovate: datasource=github-releases packageName=itzg/mc-server-runner
ARG MC_SERVER_RUNNER_VERSION=1.14.2 ARG MC_SERVER_RUNNER_VERSION=1.14.3
RUN easy-add --var os=${TARGETOS} --var arch=${TARGETARCH}${TARGETVARIANT} \ RUN easy-add --var os=${TARGETOS} --var arch=${TARGETARCH}${TARGETVARIANT} \
--var version=${MC_SERVER_RUNNER_VERSION} --var app=mc-server-runner --file {{.app}} \ --var version=${MC_SERVER_RUNNER_VERSION} --var app=mc-server-runner --file {{.app}} \
--from ${GITHUB_BASEURL}/itzg/{{.app}}/releases/download/{{.version}}/{{.app}}_{{.version}}_{{.os}}_{{.arch}}.tar.gz --from ${GITHUB_BASEURL}/itzg/{{.app}}/releases/download/{{.version}}/{{.app}}_{{.version}}_{{.os}}_{{.arch}}.tar.gz
# renovate: datasource=github-releases packageName=itzg/mc-image-helper versioning=loose # renovate: datasource=github-releases packageName=itzg/mc-image-helper versioning=loose
ARG MC_HELPER_VERSION=1.55.2 ARG MC_HELPER_VERSION=1.55.4
ARG MC_HELPER_BASE_URL=${GITHUB_BASEURL}/itzg/mc-image-helper/releases/download/${MC_HELPER_VERSION} ARG MC_HELPER_BASE_URL=${GITHUB_BASEURL}/itzg/mc-image-helper/releases/download/${MC_HELPER_VERSION}
# used for cache busting local copy of mc-image-helper # used for cache busting local copy of mc-image-helper
ARG MC_HELPER_REV=1 ARG MC_HELPER_REV=1

View File

@@ -9,12 +9,12 @@ MarkupSafe==3.0.3
mergedeep==1.3.4 mergedeep==1.3.4
mkdocs==1.6.1 mkdocs==1.6.1
mkdocs-autorefs==1.4.4 mkdocs-autorefs==1.4.4
mkdocs-get-deps==0.2.0 mkdocs-get-deps==0.2.2
mkdocstrings==1.0.3 mkdocstrings==1.0.3
mkdocstrings-python==2.0.3 mkdocstrings-python==2.0.3
packaging==26.0 packaging==26.0
pathspec==1.0.4 pathspec==1.0.4
platformdirs==4.9.2 platformdirs==4.9.4
Pygments==2.19.2 Pygments==2.19.2
pymdown-extensions==10.21 pymdown-extensions==10.21
python-dateutil==2.9.0.post0 python-dateutil==2.9.0.post0
@@ -22,4 +22,4 @@ PyYAML==6.0.3
pyyaml_env_tag==1.1 pyyaml_env_tag==1.1
six==1.17.0 six==1.17.0
watchdog==6.0.0 watchdog==6.0.0
zensical==0.0.24 zensical==0.0.27

View File

@@ -15,25 +15,19 @@ where `<tag>` refers to the first column of this table:
| latest | 25 | Ubuntu | Hotspot | amd64, arm64 | | | latest | 25 | Ubuntu | Hotspot | amd64, arm64 | |
| stable | 25 | Ubuntu | Hotspot | amd64, arm64 | | | stable | 25 | Ubuntu | Hotspot | amd64, arm64 | |
| java25 | 25 | Ubuntu | Hotspot | amd64, arm64 | | | java25 | 25 | Ubuntu | Hotspot | amd64, arm64 | |
| java25-alpine | 25 | Alpine | Hotspot | amd64, arm64 | |
| java25-jdk | 25 | Ubuntu | Hotspot+JDK | amd64, arm64 | | | java25-jdk | 25 | Ubuntu | Hotspot+JDK | amd64, arm64 | |
| java25-graalvm | 25 | Oracle | Oracle GraalVM (3) | amd64, arm64 | (5) |
| java21 | 21 | Ubuntu | Hotspot | amd64, arm64 | | | java21 | 21 | Ubuntu | Hotspot | amd64, arm64 | |
| java21-jdk | 21 | Ubuntu | Hotspot+JDK | amd64, arm64 | | | java21-jdk | 21 | Ubuntu | Hotspot+JDK | amd64, arm64 | |
| java21-alpine | 21 | Alpine | Hotspot | amd64, arm64 | | | java21-alpine | 21 | Alpine | Hotspot | amd64, arm64 | |
| java21-graalvm | 21 | Oracle | Oracle GraalVM (3) | amd64, arm64 | (5) |
| java17 | 17 | Ubuntu | Hotspot | amd64, arm64, armv7 | | | java17 | 17 | Ubuntu | Hotspot | amd64, arm64, armv7 | |
| java17-graalvm | 17 | Oracle | Oracle GraalVM (3) | amd64, arm64 | (5) | | java16 | 16 | Ubuntu | Hotspot | amd64, arm64, armv7 | (1) |
| java16 | 16 | Ubuntu | Hotspot | amd64, arm64, armv7 | (4) |
| java11 | 11 | Ubuntu | Hotspot | amd64, arm64, armv7 | | | java11 | 11 | Ubuntu | Hotspot | amd64, arm64, armv7 | |
| java8 | 8 | Ubuntu | Hotspot | amd64, arm64, armv7 | | | java8 | 8 | Ubuntu | Hotspot | amd64, arm64, armv7 | |
Notes Notes
1. Why no arm64 for Java 17 Alpine? That is because the base images, such as [elipse-temurin](https://hub.docker.com/_/eclipse-temurin/tags?page=&page_size=&ordering=&name=17-jre-alpine) do not provide support for that. Use the Ubuntu-based images instead. 1. This version of Java is [recommended for PaperMC 1.16.5](https://docs.papermc.io/paper/getting-started/#requirements)
2. Short-term variant, subject to deprecation upon next version introduction
3. Based on the [Oracle GraalVM images](https://blogs.oracle.com/java/post/new-oracle-graalvm-container-images), which as of JDK 17, are now under the [GraalVM Free License](https://blogs.oracle.com/java/post/graalvm-free-license) incorporating what used to be known as the GraalVM Enterprise.
4. This version of Java is [recommended for PaperMC 1.16.5](https://docs.papermc.io/paper/getting-started/#requirements)
5. Due to these images using Oracle Linux, (which is based on Red Hat Enterprise Linux) Forge Installer will not work due to its use of zlib-ng. Use other images for initial installation and Forge version upgrade.
!!! example "Example using java8" !!! example "Example using java8"
@@ -127,6 +121,7 @@ Forge also doesn't support openj9 JVM implementation.
The following image tags have been deprecated and are no longer receiving updates: The following image tags have been deprecated and are no longer receiving updates:
- java25-graalvm, java21-graalvm, java17-graalvm
- adopt13 - adopt13
- adopt14 - adopt14
- adopt15 - adopt15

View File

@@ -24,12 +24,20 @@
"jvm": "hotspot", "jvm": "hotspot",
"architectures": ["amd64", "arm64"] "architectures": ["amd64", "arm64"]
}, },
{
"tag": "java25-alpine",
"java": "25",
"distribution": "alpine",
"jvm": "hotspot",
"architectures": ["amd64", "arm64"]
},
{ {
"tag": "java25-graalvm", "tag": "java25-graalvm",
"java": "25", "java": "25",
"distribution": "oracle", "distribution": "oracle",
"jvm": "graalvm", "jvm": "graalvm",
"architectures": ["amd64", "arm64"] "architectures": ["amd64", "arm64"],
"deprecated": true
}, },
{ {
"tag": "java24", "tag": "java24",
@@ -67,7 +75,8 @@
"java": "21", "java": "21",
"distribution": "oracle", "distribution": "oracle",
"jvm": "graalvm", "jvm": "graalvm",
"architectures": ["amd64", "arm64"] "architectures": ["amd64", "arm64"],
"deprecated": true
}, },
{ {
"tag": "java21-jdk", "tag": "java21-jdk",

Binary file not shown.

Before

Width:  |  Height:  |  Size: 83 KiB

After

Width:  |  Height:  |  Size: 75 KiB

View File

@@ -54,8 +54,8 @@ fi
if isTrue "${DEBUG_MEMORY:-false}"; then if isTrue "${DEBUG_MEMORY:-false}"; then
log "Memory usage and availability (in MB)" log "Memory usage and availability (in MB)"
uname -pars uname -pars | applyLogPrefix
free -m free -m | applyLogPrefix
fi fi
########################################## ##########################################
@@ -156,7 +156,11 @@ export DECLARED_TYPE=${TYPE^^}
export DECLARED_VERSION="$VERSION" export DECLARED_VERSION="$VERSION"
if isTrue "${VERSION_FROM_MODRINTH_PROJECTS:-}" && [[ ${MODRINTH_PROJECTS:-} ]]; then if isTrue "${VERSION_FROM_MODRINTH_PROJECTS:-}" && [[ ${MODRINTH_PROJECTS:-} ]]; then
if ! VERSION=$(mc-image-helper version-from-modrinth-projects --projects "${MODRINTH_PROJECTS}"); then args=()
if [[ ${MODRINTH_PROJECTS_DEFAULT_VERSION_TYPE:-} ]]; then
args+=(--allowed-version-type "${MODRINTH_PROJECTS_DEFAULT_VERSION_TYPE:-}")
fi
if ! VERSION=$(mc-image-helper version-from-modrinth-projects "${args[@]}" --projects "${MODRINTH_PROJECTS}"); then
logError "failed to resolve version from MODRINTH_PROJECTS: ${MODRINTH_PROJECTS}" logError "failed to resolve version from MODRINTH_PROJECTS: ${MODRINTH_PROJECTS}"
exit 1 exit 1
fi fi

View File

@@ -125,6 +125,12 @@ function logn() {
echo -n "[init] $*" echo -n "[init] $*"
} }
# Use as
# cmd | applyLogPrefix
function applyLogPrefix() {
sed 's/^/[init] /'
}
function log() { function log() {
local oldState local oldState
# The return status when listing options is zero if all optnames are enabled, non- zero otherwise. # The return status when listing options is zero if all optnames are enabled, non- zero otherwise.