Compare commits

...

36 Commits

Author SHA1 Message Date
renovate[bot] 3393e65d6f Update dependency itzg/mc-image-helper to v1.57.2 (#4044) 2026-05-04 09:06:48 -05:00
renovate[bot] 4caed18ead Update dependency itzg/mc-image-helper to v1.57.1 (#4039)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-05-02 13:11:03 -05:00
renovate[bot] de5e99cfa1 Update dependency itzg/mc-monitor to v0.16.2 (#4034) 2026-05-01 20:24:05 -05:00
dependabot[bot] ff280ecf48 build(deps): bump the patches group in /docs with 4 updates (#4040) 2026-04-29 07:20:52 -05:00
renovate[bot] d34111c3e3 Update dependency itzg/restify to v1.7.13 (#4036) 2026-04-26 19:03:07 -05:00
Kim c660ac5e8f Added force include JER to Wold's Vaults in cf-exclude-include.json (#4033) 2026-04-26 10:11:59 -05:00
evergales a383184e92 Remove Connector & Appleskin from modrinth exclusions (#4031) 2026-04-26 07:33:59 -05:00
Geoff Bourne eb63433d35 Clarify source directories with APPLY_EXTRA_FILES (#4030) 2026-04-24 07:45:59 -05:00
dependabot[bot] 5e1d166ba6 build(deps): bump the patches group in /docs with 2 updates (#4027) 2026-04-22 05:54:53 -06:00
Pacsui 8745b36b89 fix deadlink for autostop example (#4022) 2026-04-16 14:20:24 -05:00
renovate[bot] 97407c672f Update dependency itzg/mc-image-helper to v1.56.3 (#4015)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-04-16 13:41:48 -05:00
dependabot[bot] e25de5dc05 build(deps): bump packaging from 26.0 to 26.1 in /docs in the patches group (#4021) 2026-04-15 07:08:45 -05:00
dependabot[bot] 59a2126192 build(deps): bump the updates group with 3 updates (#4019) 2026-04-14 07:36:43 -05:00
dependabot[bot] 5e2e26831e build(deps): bump zensical from 0.0.32 to 0.0.33 in /docs in the patches group (#4020) 2026-04-14 07:36:08 -05:00
dependabot[bot] 18d57981f5 build(deps): bump docker/login-action from 3.7.0 to 4.0.0 (#3965) 2026-04-14 06:50:48 -05:00
at://matrixfurry.com a5cd3a57fa Remove EMI from Modrinth exclusions (#4018) 2026-04-13 19:53:32 -05:00
AegisBlue c692e99523 Include Server.pro sponsorship in README (#4017) 2026-04-13 11:27:20 -05:00
dependabot[bot] 5f9bc3a414 build(deps): bump the patches group in /docs with 2 updates (#4016) 2026-04-13 06:57:25 -05:00
Geoff Bourne df7f067782 neoforge: support year-based versions (#4014) 2026-04-12 14:02:37 -05:00
SpawnBox-dev 7b1cb53cda docs: simplify sponsor layout - drop table, use floated logo (#4012) 2026-04-11 21:15:00 -05:00
Geoff Bourne dcfedaa10f Put sponsor entries in table (#4011) 2026-04-11 20:35:15 -05:00
Geoff Bourne a9a27df4a6 Corrected sponsors anchor (#4010) 2026-04-11 20:15:20 -05:00
Geoff Bourne a2fbd4ce9a Add sponsors section to README (#4009)
Co-authored-by: SpawnBox-dev <github@spawnbox.app>
Co-authored-by: SpawnBox-dev <developer@spawnbox.app>
2026-04-11 20:02:38 -05:00
renovate[bot] eb4fe3c7bf Update dependency itzg/mc-image-helper to v1.56.1 (#4005) 2026-04-09 21:48:28 -05:00
Geoff Bourne 8c9e2c653f Added dev docs for building image with tool version change (#4007) 2026-04-09 11:02:32 -05:00
Vianney Veremme bd98fe57ba Add optional Modrinth projects support (? suffix) documentation (#4004) 2026-04-09 10:15:11 -05:00
dependabot[bot] 23205471db build(deps): bump the patches group in /docs with 2 updates (#4001) 2026-04-06 07:49:39 -05:00
EmilyxFox f8618a5360 add more examples for new minecraft version schema (#3981) 2026-04-05 11:25:32 -05:00
renovate[bot] acc90757a6 chore(deps): update dependency itzg/mc-server-runner to v1.14.5 (#3999)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-04-05 10:07:11 -05:00
Geoff Bourne 589872049f Added default exclude of smooth swapping (#3992) 2026-03-31 11:38:50 -05:00
dependabot[bot] 18403e7db8 build(deps): bump the patches group across 1 directory with 4 updates (#3996) 2026-03-30 13:37:28 -05:00
renovate[bot] 2625ca2b3c chore(deps): update dependency itzg/mc-server-runner to v1.14.4 (#3993)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-28 13:24:01 -05:00
Geoff Bourne 5b9c09b7b2 Pin mcVersion to 1.21.11 for Java 21 build testing (#3991) 2026-03-26 15:54:10 -05:00
Jason Walton b37c2cc3ef Add RCON_PASSWORD_FILE to variables.md. (#3989) 2026-03-26 15:42:22 -05:00
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
21 changed files with 181 additions and 38 deletions
+3
View File
@@ -16,6 +16,9 @@ updates:
schedule:
interval: weekly
groups:
docker:
patterns:
- "docker/*"
patches:
patterns:
- "*"
+10 -10
View File
@@ -55,15 +55,15 @@ jobs:
- variant: java21
baseImage: eclipse-temurin:21-jre
platforms: linux/amd64,linux/arm64
mcVersion: latest
mcVersion: 1.21.11
- variant: java21-jdk
baseImage: eclipse-temurin:21
platforms: linux/amd64,linux/arm64
mcVersion: latest
mcVersion: 1.21.11
- variant: java21-alpine
baseImage: eclipse-temurin:21-jre-alpine
platforms: linux/amd64,linux/arm64
mcVersion: latest
mcVersion: 1.21.11
# JAVA 17:
- variant: java17
# jammy doesn't work until minecraft updates to https://github.com/netty/netty/issues/12343
@@ -107,7 +107,7 @@ jobs:
- name: Docker meta
id: meta
uses: docker/metadata-action@v5.10.0
uses: docker/metadata-action@v6.0.0
with:
# NOTE for forks: if your Docker Hub organization doesn't match your Github repo's,
# then the use of ${{ github.repository_owner }} will need to be replaced.
@@ -137,13 +137,13 @@ jobs:
org.opencontainers.image.authors=Geoff Bourne <itzgeoff@gmail.com>
- name: Setup Docker Buildx
uses: docker/setup-buildx-action@v3.12.0
uses: docker/setup-buildx-action@v4.0.0
- name: Set up QEMU
uses: docker/setup-qemu-action@v3.7.0
uses: docker/setup-qemu-action@v4.0.0
- name: Build for test
uses: docker/build-push-action@v6.19.2
uses: docker/build-push-action@v7.1.0
with:
platforms: linux/amd64
tags: ${{ env.IMAGE_TO_TEST }}
@@ -168,14 +168,14 @@ jobs:
tests/test.sh
- name: Login to DockerHub
uses: docker/login-action@v3.7.0
uses: docker/login-action@v4.1.0
if: env.HAS_IMAGE_REPO_ACCESS
with:
username: ${{ secrets.DOCKER_USER }}
password: ${{ secrets.DOCKER_PASSWORD }}
- name: Login to GHCR
uses: docker/login-action@v3.7.0
uses: docker/login-action@v4.1.0
if: env.HAS_IMAGE_REPO_ACCESS
with:
registry: ghcr.io
@@ -183,7 +183,7 @@ jobs:
password: ${{ github.token }}
- name: Build and push
uses: docker/build-push-action@v6.19.2
uses: docker/build-push-action@v7.1.0
if: github.actor == github.repository_owner
with:
platforms: ${{ matrix.platforms }}
+1 -1
View File
@@ -19,7 +19,7 @@ jobs:
steps:
- name: on-publish
if: github.event_name == 'release' && github.event.action == 'published'
uses: SethCohen/github-releases-to-discord@v1.19.0
uses: SethCohen/github-releases-to-discord@v1.20.0
with:
webhook_url: ${{ secrets.DISCORD_WEBHOOK }}
- name: on-success
+3 -3
View File
@@ -59,10 +59,10 @@ jobs:
fetch-depth: 0
- name: Setup Docker Buildx
uses: docker/setup-buildx-action@v3.12.0
uses: docker/setup-buildx-action@v4.0.0
- name: Confirm multi-arch build
uses: docker/build-push-action@v6.19.2
uses: docker/build-push-action@v7.1.0
with:
platforms: ${{ matrix.platforms }}
# ensure latest base image is used
@@ -73,7 +73,7 @@ jobs:
cache-from: type=gha,scope=${{ matrix.variant }}
- name: Build for test
uses: docker/build-push-action@v6.19.2
uses: docker/build-push-action@v7.1.0
with:
# Only build single platform since loading multi-arch image into daemon fails with
# "docker exporter does not currently support exporting manifest lists"
+4 -4
View File
@@ -31,7 +31,7 @@ ADD ${GITHUB_BASEURL}/itzg/easy-add/releases/download/${EASY_ADD_VERSION}/easy-a
RUN chmod +x /usr/bin/easy-add
# renovate: datasource=github-releases packageName=itzg/restify
ARG RESTIFY_VERSION=1.7.12
ARG RESTIFY_VERSION=1.7.13
RUN easy-add --var os=${TARGETOS} --var arch=${TARGETARCH}${TARGETVARIANT} \
--var version=${RESTIFY_VERSION} --var app=restify --file {{.app}} \
--from ${GITHUB_BASEURL}/itzg/{{.app}}/releases/download/{{.version}}/{{.app}}_{{.version}}_{{.os}}_{{.arch}}.tar.gz
@@ -43,19 +43,19 @@ RUN easy-add --var os=${TARGETOS} --var arch=${TARGETARCH}${TARGETVARIANT} \
--from ${GITHUB_BASEURL}/itzg/{{.app}}/releases/download/{{.version}}/{{.app}}_{{.version}}_{{.os}}_{{.arch}}.tar.gz
# renovate: datasource=github-releases packageName=itzg/mc-monitor
ARG MC_MONITOR_VERSION=0.16.1
ARG MC_MONITOR_VERSION=0.16.2
RUN easy-add --var os=${TARGETOS} --var arch=${TARGETARCH}${TARGETVARIANT} \
--var version=${MC_MONITOR_VERSION} --var app=mc-monitor --file {{.app}} \
--from ${GITHUB_BASEURL}/itzg/{{.app}}/releases/download/{{.version}}/{{.app}}_{{.version}}_{{.os}}_{{.arch}}.tar.gz
# renovate: datasource=github-releases packageName=itzg/mc-server-runner
ARG MC_SERVER_RUNNER_VERSION=1.14.3
ARG MC_SERVER_RUNNER_VERSION=1.14.5
RUN easy-add --var os=${TARGETOS} --var arch=${TARGETARCH}${TARGETVARIANT} \
--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
# renovate: datasource=github-releases packageName=itzg/mc-image-helper versioning=loose
ARG MC_HELPER_VERSION=1.55.2
ARG MC_HELPER_VERSION=1.57.2
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
ARG MC_HELPER_REV=1
+24 -1
View File
@@ -6,7 +6,7 @@
[![](https://img.shields.io/badge/Donate-Buy%20me%20a%20coffee-orange.svg)](https://www.buymeacoffee.com/itzg)
[![Documentation Status](https://readthedocs.org/projects/docker-minecraft-server/badge/?version=latest)](https://docker-minecraft-server.readthedocs.io/en/latest/?badge=latest)
[![Read the docs](docs/img/docs-banner.png)](https://docker-minecraft-server.readthedocs.io/)
[![Read the docs](docs/img/banner-docs.png)](https://docker-minecraft-server.readthedocs.io/)
There you will find things like
- [Quick start with Docker Compose](https://docker-minecraft-server.readthedocs.io/en/latest/#using-docker-compose)
@@ -19,3 +19,26 @@ There you will find things like
There are also many examples located in [the examples directory](examples) of this repo.
This image only supports Java edition natively; however, if looking for a server that is compatible with Bedrock edition, then use [itzg/minecraft-bedrock-server](https://github.com/itzg/docker-minecraft-bedrock-server) or [refer to this section](https://docker-minecraft-server.readthedocs.io/en/latest/misc/examples/#bedrock-compatible-server) to add Bedrock compatibility to a Java edition server.
[![Sponsors](docs/img/banner-sponsors.png)](#sponsors)
<a name="sponsors"></a>
<a href="https://spawnbox.app"><img src="https://spawnbox.app/favicon-48x48.png" alt="SpawnBox logo" width="48" align="left" /></a>
<a href="https://spawnbox.app"><b>SpawnBox</b></a> - Powered by <code>itzg/minecraft-server</code>, it's a Windows desktop app for parents, teens, and friend groups who want a Minecraft server on their own PC without learning Docker, WSL2, or networking.
<br clear="left" />
<a href="https://server.pro"><img src="https://server.pro/s/img/logo-short-192.png" alt="Server.pro logo" width="48" align="left" /></a>
<a href="https://server.pro"><b>Server.pro</b></a> - A game server hosting platform offering one-click Minecraft server deployment powered by <code>itzg/minecraft-server</code>, with global locations and an easy-to-use control panel.
<br clear="left" />
<!-- additional sponsors repeat the pattern above: floated logo + blurb + clear-left break -->
<!-- logo image preferrably hosted on an external, stable site at a size of 48x48px -->
<!-- link to sponsor site -->
<!-- one or two line summary ideally with a mention of image integration -->
[and more...](https://github.com/sponsors/itzg)

Before

Width:  |  Height:  |  Size: 29 KiB

After

Width:  |  Height:  |  Size: 29 KiB

@@ -6,7 +6,7 @@ Small, none, Minecraftia
Line 2:
"Documentation"
Large, non, Minecrafter
Large, none, Minecrafter
Overall settings:
- drop shadow
Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

+9
View File
@@ -0,0 +1,9 @@
Generated at https://textcraft.net/
Line 1:
"Sponsors"
Mid
None
Minecrafter
Drop shadow
3d-style view
+1 -1
View File
@@ -8,7 +8,7 @@ An option to stop the server after a specified time has been added for niche app
A `.skip-stop` file can be created in the `/data` directory to make the server skip autostopping, for as long as the file is present. The autostop timer will also be reset.
A starting, example compose file has been provided in [examples/docker-compose-autostop.yml](https://github.com/itzg/docker-minecraft-server/blob/master/examples/docker-compose-autostop.yml).
A starting, example compose file has been provided in [examples/autostop/compose.yml](https://github.com/itzg/docker-minecraft-server/blob/master/examples/autostop/compose.yml).
Enable the Autostop functionality by setting:
+24
View File
@@ -21,6 +21,30 @@ docker compose -f compose-dev.yml run --rm -it [-e key=value] mc-dev
To speed up the development cycle, it is recommended to set `SETUP_ONLY` to `true` as part of the run command above.
## Building the image with a new release of a tool
In this exapmle, let's say that [mc-image-helper](https://github.com/itzg/mc-image-helper) has been [released](https://github.com/itzg/mc-image-helper/releases) at 1.56.0, but the corresponding changes in the image [scripts](https://github.com/itzg/docker-minecraft-server/tree/23205471db9814cff9c6602361dbc6cdd6c4230a/scripts) need to be tested against that version while updating [the Dockerfile](https://github.com/itzg/docker-minecraft-server/blob/23205471db9814cff9c6602361dbc6cdd6c4230a/Dockerfile#L58).
```yaml title="tests/manual/optional-projects/compose.yml" hl_lines="7"
services:
mc:
build:
# ...or wherever you cloned the docker-minecraft-server repo
context: ../../..
args:
MC_HELPER_VERSION: 1.56.0
environment:
EULA: true
TYPE: "FABRIC"
MODRINTH_PROJECTS: |
fabric-api
pl3xmap?:beta
ports:
- "25565:25565/tcp"
volumes:
- ./data:/data
```
## Using development copy of tools
In the cloned repo, such as [`mc-image-helper`](https://github.com/itzg/mc-image-helper), install the distribution locally by running:
+7 -1
View File
@@ -81,7 +81,13 @@ These paths work well if you want to have a common set of modules in a separate
You can download/copy additional configuration files or other resources before the server starts by using the `APPLY_EXTRA_FILES` environment variable. This is useful for downloading configs that you want to patch or modify during the startup process.
The format uses a `<` separator between the destination path and the source URL/path. The destination path is relative to the `/data` directory. If specifying a source path, it needs to be path mounted within the container.
The format uses a `<` separator between the destination path and the source URL/path.
The destination path is relative to the `/data` directory.
If specifying a source path, rather than URL, it needs to reference a path mounted into the container as a volume.
A source path can refer to a directory, in which case the files within that directory will be copied into the destination directory. At startup, it will take care of synchronizing the removal of files it copied when they are removed from the source.
!!! example
+48 -1
View File
@@ -86,6 +86,54 @@ Where:
To temporarily disable processing of the `MODRINTH_PROJECTS` list, then comment out the `MODRINTH_PROJECTS` environment variable.
## Optional projects
Projects that are not critical for the server to function can be marked as **optional** by appending a `?` to the project slug or ID. When a compatible version cannot be found for an optional project, the server logs a warning and continues startup instead of failing.
This is particularly useful for server-side mods that tend to lag behind on Minecraft updates, such as map renderers (Pl3xmap, BlueMap), performance mods (Lithium, C2ME), or admin tools (Spark, LuckPerms).
```yaml
MODRINTH_PROJECTS: |
fabric-api
lithium
pl3xmap?
bluemap?:beta
```
The `?` marker can be combined with all existing format options:
| Format | Example |
|----------------------------|---------------------------|
| Slug only | `pl3xmap?` |
| With version | `pl3xmap?:Oa9ZDzZq` |
| With release type | `pl3xmap?:beta` |
| With loader prefix | `fabric:pl3xmap?` |
| Full combination | `fabric:pl3xmap?:beta` |
| In listing files | `pl3xmap?` *(one per line)* |
When combined with [`VERSION_FROM_MODRINTH_PROJECTS`](#version-from-projects), optional projects are **excluded** from the version calculation. This means an optional mod that hasn't been updated yet will never block a Minecraft version upgrade.
!!! example "Automatic upgrades without optional-mod breakage"
```yaml
MODRINTH_PROJECTS: |
fabric-api
lithium
pl3xmap?
VERSION_FROM_MODRINTH_PROJECTS: true
```
If a new Minecraft version is released and `fabric-api` + `lithium` support it but `pl3xmap` does not:
1. The resolved `VERSION` is set to the new version (pl3xmap is not considered)
2. `fabric-api` and `lithium` are installed normally
3. `pl3xmap` is skipped with a warning in the logs
4. On a future restart, once pl3xmap publishes a compatible build, it is picked up automatically
!!! note
Optional projects marked with `?` in listing files (`@/path/to/file.txt`) are supported ; the `?` is parsed from each line the same way as inline entries.
## Version from Projects
When the environment variable `VERSION_FROM_MODRINTH_PROJECTS` is set to "true" the Minecraft [`VERSION`](../versions/minecraft.md) will be automatically determined by looking at the most recent version of Minecraft that is supported by all the projects provided in `MODRINTH_PROJECTS`.
@@ -115,4 +163,3 @@ When the environment variable `VERSION_FROM_MODRINTH_PROJECTS` is set to "true"
`MODRINTH_LOADER`
: When using a custom server, set this to specify which loader type will be requested during lookups
+9 -9
View File
@@ -1,8 +1,8 @@
click==8.3.1
click==8.3.3
colorama==0.4.6
deepmerge==2.0
ghp-import==2.1.0
griffe==2.0.0
griffe==2.0.2
Jinja2==3.1.6
Markdown==3.10.2
MarkupSafe==3.0.3
@@ -10,16 +10,16 @@ mergedeep==1.3.4
mkdocs==1.6.1
mkdocs-autorefs==1.4.4
mkdocs-get-deps==0.2.2
mkdocstrings==1.0.3
mkdocstrings==1.0.4
mkdocstrings-python==2.0.3
packaging==26.0
pathspec==1.0.4
platformdirs==4.9.4
Pygments==2.19.2
pymdown-extensions==10.21
packaging==26.2
pathspec==1.1.1
platformdirs==4.9.6
Pygments==2.20.0
pymdown-extensions==10.21.2
python-dateutil==2.9.0.post0
PyYAML==6.0.3
pyyaml_env_tag==1.1
six==1.17.0
watchdog==6.0.0
zensical==0.0.27
zensical==0.0.37
+6
View File
@@ -397,6 +397,12 @@ This image maps known server properties as described in [this section](configura
<td><code>Randomly generated</code></td>
<td>✅</td>
</tr>
<tr>
<td><code>RCON_PASSWORD_FILE</code></td>
<td>Can be set to read the RCON password from a file. Overrides <code>RCON_PASSWORD</code> if both are set.</td>
<td><code></code></td>
<td>⬜️</td>
</tr>
<tr>
<td><code>RCON_PORT</code></td>
<td>The port for RCON</td>
+2 -1
View File
@@ -2,7 +2,8 @@ To use a different Minecraft version, pass the `VERSION` environment variable (c
- `LATEST` for latest release (the default)
- `SNAPSHOT` for latest snapshot
- a specific version, such as `1.7.9`, `25w35a`, `26.1`, or `26.1-snapshot-1`
- a specific legacy version, such as `1.7.9`, `25w35a`, `1.15.2-pre2` or `1.21.11-rc1`
- a specific [new version numbering system](https://www.minecraft.net/en-us/article/minecraft-new-version-numbering-system) version like `26.1`, `26.1-snapshot-1`, `26.1-pre-1`, or `26.1-rc-1`
- or an alpha and beta version, such as "b1.7.3" (server download might not exist)
For example, to use the latest snapshot:
+6
View File
@@ -144,6 +144,7 @@
"smart-hud",
"smithing-template-viewer",
"smooth-font",
"smooth-swapping",
"smoothwater",
"sodium",
"sodium-extra",
@@ -211,6 +212,11 @@
},
"valhelsia-5": {
"excludes": ["modernfix"]
},
"wolds-vaults": {
"forceIncludes": [
"just-enough-resources-jer"
]
}
}
}
+1 -4
View File
@@ -5,7 +5,6 @@
"AmbientSounds",
"amecs",
"Animation_Overhaul",
"appleskin",
"auudio",
"axolotlbuckets",
"BadOptimizations",
@@ -28,7 +27,6 @@
"compass-coords",
"colorwheel",
"connectedness",
"connector",
"continuity",
"controlling",
"craftpresence",
@@ -39,8 +37,6 @@
"distraction_free_recipes",
"drippyloadingscreen",
"eating-animation",
"emi",
"emi_loot",
"emi_trade",
"emiffect",
"emitrades",
@@ -94,6 +90,7 @@
"seasonhud",
"ShoulderSurfing",
"skinlayers3d",
"smoothswapping",
"sodium",
"sorted_enchantments",
"tooltipfix",
+5 -1
View File
@@ -156,7 +156,11 @@ export DECLARED_TYPE=${TYPE^^}
export DECLARED_VERSION="$VERSION"
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}"
exit 1
fi
@@ -0,0 +1,17 @@
services:
mc:
build:
# ...or wherever you cloned the docker-minecraft-server repo
context: ../../..
args:
MC_HELPER_VERSION: 1.56.0
environment:
EULA: true
TYPE: "FABRIC"
MODRINTH_PROJECTS: |
fabric-api
pl3xmap?:beta
ports:
- "25565:25565/tcp"
volumes:
- ./data:/data