mirror of
https://github.com/itzg/docker-minecraft-server.git
synced 2026-04-20 20:39:26 +00:00
Compare commits
38 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
8745b36b89 | ||
|
|
97407c672f | ||
|
|
e25de5dc05 | ||
|
|
59a2126192 | ||
|
|
5e2e26831e | ||
|
|
18d57981f5 | ||
|
|
a5cd3a57fa | ||
|
|
c692e99523 | ||
|
|
5f9bc3a414 | ||
|
|
df7f067782 | ||
|
|
7b1cb53cda | ||
|
|
dcfedaa10f | ||
|
|
a9a27df4a6 | ||
|
|
a2fbd4ce9a | ||
|
|
eb4fe3c7bf | ||
|
|
8c9e2c653f | ||
|
|
bd98fe57ba | ||
|
|
23205471db | ||
|
|
f8618a5360 | ||
|
|
acc90757a6 | ||
|
|
589872049f | ||
|
|
18403e7db8 | ||
|
|
2625ca2b3c | ||
|
|
5b9c09b7b2 | ||
|
|
b37c2cc3ef | ||
|
|
3cd3656868 | ||
|
|
387c674849 | ||
|
|
fba656561f | ||
|
|
cf8ab31e25 | ||
|
|
68bb650617 | ||
|
|
c5a298fa05 | ||
|
|
5dff0b8541 | ||
|
|
9c9a3a8b43 | ||
|
|
3bbe3b7c80 | ||
|
|
ddb3dbf776 | ||
|
|
1cf70665bb | ||
|
|
a543ee7ebc | ||
|
|
a69017b5e1 |
3
.github/dependabot.yml
vendored
3
.github/dependabot.yml
vendored
@@ -16,6 +16,9 @@ updates:
|
|||||||
schedule:
|
schedule:
|
||||||
interval: weekly
|
interval: weekly
|
||||||
groups:
|
groups:
|
||||||
|
docker:
|
||||||
|
patterns:
|
||||||
|
- "docker/*"
|
||||||
patches:
|
patches:
|
||||||
patterns:
|
patterns:
|
||||||
- "*"
|
- "*"
|
||||||
|
|||||||
25
.github/workflows/build.yml
vendored
25
.github/workflows/build.yml
vendored
@@ -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
|
||||||
@@ -50,15 +55,15 @@ jobs:
|
|||||||
- variant: java21
|
- variant: java21
|
||||||
baseImage: eclipse-temurin:21-jre
|
baseImage: eclipse-temurin:21-jre
|
||||||
platforms: linux/amd64,linux/arm64
|
platforms: linux/amd64,linux/arm64
|
||||||
mcVersion: latest
|
mcVersion: 1.21.11
|
||||||
- variant: java21-jdk
|
- variant: java21-jdk
|
||||||
baseImage: eclipse-temurin:21
|
baseImage: eclipse-temurin:21
|
||||||
platforms: linux/amd64,linux/arm64
|
platforms: linux/amd64,linux/arm64
|
||||||
mcVersion: latest
|
mcVersion: 1.21.11
|
||||||
- variant: java21-alpine
|
- variant: java21-alpine
|
||||||
baseImage: eclipse-temurin:21-jre-alpine
|
baseImage: eclipse-temurin:21-jre-alpine
|
||||||
platforms: linux/amd64,linux/arm64
|
platforms: linux/amd64,linux/arm64
|
||||||
mcVersion: latest
|
mcVersion: 1.21.11
|
||||||
# JAVA 17:
|
# JAVA 17:
|
||||||
- variant: java17
|
- variant: java17
|
||||||
# jammy doesn't work until minecraft updates to https://github.com/netty/netty/issues/12343
|
# jammy doesn't work until minecraft updates to https://github.com/netty/netty/issues/12343
|
||||||
@@ -102,7 +107,7 @@ jobs:
|
|||||||
|
|
||||||
- name: Docker meta
|
- name: Docker meta
|
||||||
id: meta
|
id: meta
|
||||||
uses: docker/metadata-action@v5.10.0
|
uses: docker/metadata-action@v6.0.0
|
||||||
with:
|
with:
|
||||||
# NOTE for forks: if your Docker Hub organization doesn't match your Github repo's,
|
# 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.
|
# then the use of ${{ github.repository_owner }} will need to be replaced.
|
||||||
@@ -132,13 +137,13 @@ jobs:
|
|||||||
org.opencontainers.image.authors=Geoff Bourne <itzgeoff@gmail.com>
|
org.opencontainers.image.authors=Geoff Bourne <itzgeoff@gmail.com>
|
||||||
|
|
||||||
- name: Setup Docker Buildx
|
- name: Setup Docker Buildx
|
||||||
uses: docker/setup-buildx-action@v3.12.0
|
uses: docker/setup-buildx-action@v4.0.0
|
||||||
|
|
||||||
- name: Set up QEMU
|
- name: Set up QEMU
|
||||||
uses: docker/setup-qemu-action@v3.7.0
|
uses: docker/setup-qemu-action@v4.0.0
|
||||||
|
|
||||||
- name: Build for test
|
- name: Build for test
|
||||||
uses: docker/build-push-action@v6.19.2
|
uses: docker/build-push-action@v7.1.0
|
||||||
with:
|
with:
|
||||||
platforms: linux/amd64
|
platforms: linux/amd64
|
||||||
tags: ${{ env.IMAGE_TO_TEST }}
|
tags: ${{ env.IMAGE_TO_TEST }}
|
||||||
@@ -163,14 +168,14 @@ jobs:
|
|||||||
tests/test.sh
|
tests/test.sh
|
||||||
|
|
||||||
- name: Login to DockerHub
|
- name: Login to DockerHub
|
||||||
uses: docker/login-action@v3.7.0
|
uses: docker/login-action@v4.1.0
|
||||||
if: env.HAS_IMAGE_REPO_ACCESS
|
if: env.HAS_IMAGE_REPO_ACCESS
|
||||||
with:
|
with:
|
||||||
username: ${{ secrets.DOCKER_USER }}
|
username: ${{ secrets.DOCKER_USER }}
|
||||||
password: ${{ secrets.DOCKER_PASSWORD }}
|
password: ${{ secrets.DOCKER_PASSWORD }}
|
||||||
|
|
||||||
- name: Login to GHCR
|
- name: Login to GHCR
|
||||||
uses: docker/login-action@v3.7.0
|
uses: docker/login-action@v4.1.0
|
||||||
if: env.HAS_IMAGE_REPO_ACCESS
|
if: env.HAS_IMAGE_REPO_ACCESS
|
||||||
with:
|
with:
|
||||||
registry: ghcr.io
|
registry: ghcr.io
|
||||||
@@ -178,7 +183,7 @@ jobs:
|
|||||||
password: ${{ github.token }}
|
password: ${{ github.token }}
|
||||||
|
|
||||||
- name: Build and push
|
- 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
|
if: github.actor == github.repository_owner
|
||||||
with:
|
with:
|
||||||
platforms: ${{ matrix.platforms }}
|
platforms: ${{ matrix.platforms }}
|
||||||
|
|||||||
2
.github/workflows/discord.yml
vendored
2
.github/workflows/discord.yml
vendored
@@ -19,7 +19,7 @@ jobs:
|
|||||||
steps:
|
steps:
|
||||||
- name: on-publish
|
- name: on-publish
|
||||||
if: github.event_name == 'release' && github.event.action == 'published'
|
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:
|
with:
|
||||||
webhook_url: ${{ secrets.DISCORD_WEBHOOK }}
|
webhook_url: ${{ secrets.DISCORD_WEBHOOK }}
|
||||||
- name: on-success
|
- name: on-success
|
||||||
|
|||||||
12
.github/workflows/verify-pr.yml
vendored
12
.github/workflows/verify-pr.yml
vendored
@@ -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:
|
||||||
@@ -59,10 +59,10 @@ jobs:
|
|||||||
fetch-depth: 0
|
fetch-depth: 0
|
||||||
|
|
||||||
- name: Setup Docker Buildx
|
- 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
|
- name: Confirm multi-arch build
|
||||||
uses: docker/build-push-action@v6.19.2
|
uses: docker/build-push-action@v7.1.0
|
||||||
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@v6.19.2
|
uses: docker/build-push-action@v7.1.0
|
||||||
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"
|
||||||
|
|||||||
@@ -1,19 +1,15 @@
|
|||||||
version: 2
|
version: 2
|
||||||
|
|
||||||
python:
|
|
||||||
install:
|
|
||||||
- requirements: docs/requirements.txt
|
|
||||||
|
|
||||||
build:
|
build:
|
||||||
os: ubuntu-24.04
|
os: ubuntu-24.04
|
||||||
tools:
|
tools:
|
||||||
python: latest
|
python: "3.14"
|
||||||
jobs:
|
jobs:
|
||||||
# We recommend using a requirements file for reproducible builds.
|
# We recommend using a requirements file for reproducible builds.
|
||||||
# This is just a quick example to get started.
|
# This is just a quick example to get started.
|
||||||
# https://docs.readthedocs.io/page/guides/reproducible-builds.html
|
# https://docs.readthedocs.io/page/guides/reproducible-builds.html
|
||||||
install:
|
install:
|
||||||
- pip install zensical
|
- pip install -r docs/requirements.txt
|
||||||
build:
|
build:
|
||||||
html:
|
html:
|
||||||
- zensical build
|
- zensical build
|
||||||
|
|||||||
@@ -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.1
|
ARG MC_SERVER_RUNNER_VERSION=1.14.5
|
||||||
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.56.3
|
||||||
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
|
||||||
|
|||||||
25
README.md
25
README.md
@@ -6,7 +6,7 @@
|
|||||||
[](https://www.buymeacoffee.com/itzg)
|
[](https://www.buymeacoffee.com/itzg)
|
||||||
[](https://docker-minecraft-server.readthedocs.io/en/latest/?badge=latest)
|
[](https://docker-minecraft-server.readthedocs.io/en/latest/?badge=latest)
|
||||||
|
|
||||||
[](https://docker-minecraft-server.readthedocs.io/)
|
[](https://docker-minecraft-server.readthedocs.io/)
|
||||||
|
|
||||||
There you will find things like
|
There you will find things like
|
||||||
- [Quick start with Docker Compose](https://docker-minecraft-server.readthedocs.io/en/latest/#using-docker-compose)
|
- [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.
|
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.
|
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)
|
||||||
|
|
||||||
|
<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)
|
||||||
|
|||||||
@@ -31,6 +31,7 @@ apk add --no-cache -U \
|
|||||||
libpcap \
|
libpcap \
|
||||||
libwebp \
|
libwebp \
|
||||||
libcap \
|
libcap \
|
||||||
|
numactl \
|
||||||
${EXTRA_ALPINE_PACKAGES}
|
${EXTRA_ALPINE_PACKAGES}
|
||||||
|
|
||||||
# Download and install patched knockd
|
# Download and install patched knockd
|
||||||
|
|||||||
@@ -27,6 +27,7 @@ apt-get install -y \
|
|||||||
lbzip2 \
|
lbzip2 \
|
||||||
nfs-common \
|
nfs-common \
|
||||||
libpcap0.8 \
|
libpcap0.8 \
|
||||||
|
libnuma1 \
|
||||||
${EXTRA_DEB_PACKAGES}
|
${EXTRA_DEB_PACKAGES}
|
||||||
|
|
||||||
# Install Git LFS
|
# Install Git LFS
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 29 KiB After Width: | Height: | Size: 29 KiB |
@@ -6,7 +6,7 @@ Small, none, Minecraftia
|
|||||||
|
|
||||||
Line 2:
|
Line 2:
|
||||||
"Documentation"
|
"Documentation"
|
||||||
Large, non, Minecrafter
|
Large, none, Minecrafter
|
||||||
|
|
||||||
Overall settings:
|
Overall settings:
|
||||||
- drop shadow
|
- drop shadow
|
||||||
BIN
docs/img/banner-sponsors.png
Normal file
BIN
docs/img/banner-sponsors.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 13 KiB |
9
docs/img/banner-sponsors.txt
Normal file
9
docs/img/banner-sponsors.txt
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
Generated at https://textcraft.net/
|
||||||
|
|
||||||
|
Line 1:
|
||||||
|
"Sponsors"
|
||||||
|
Mid
|
||||||
|
None
|
||||||
|
Minecrafter
|
||||||
|
Drop shadow
|
||||||
|
3d-style view
|
||||||
@@ -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 `.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:
|
Enable the Autostop functionality by setting:
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,84 @@
|
|||||||
|
|
||||||
|
## Simple image additions
|
||||||
|
|
||||||
|
You can easily build upon the base image using an inline Dockerfile.
|
||||||
|
|
||||||
|
```yaml title="compose.yaml"
|
||||||
|
services:
|
||||||
|
mc:
|
||||||
|
build:
|
||||||
|
context: .
|
||||||
|
dockerfile_inline: |
|
||||||
|
FROM itzg/minecraft-server:latest
|
||||||
|
|
||||||
|
RUN apt-get update && apt-get install -y \
|
||||||
|
webp \
|
||||||
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
pull: true # Always pull new base image
|
||||||
|
pull_policy: build
|
||||||
|
restart: unless-stopped
|
||||||
|
environment:
|
||||||
|
EULA: true
|
||||||
|
ports:
|
||||||
|
- "25565:25565/tcp"
|
||||||
|
volumes:
|
||||||
|
- ./data:/data
|
||||||
|
```
|
||||||
|
|
||||||
|
Here is an example to add Nvidia GPU support for C2ME:
|
||||||
|
|
||||||
|
??? Example "C2ME GPU example"
|
||||||
|
```yaml title="compose.yaml"
|
||||||
|
|
||||||
|
services:
|
||||||
|
mc:
|
||||||
|
build:
|
||||||
|
context: .
|
||||||
|
dockerfile_inline: |
|
||||||
|
FROM itzg/minecraft-server:java25
|
||||||
|
|
||||||
|
# Install OpenCL loader and NVIDIA driver capabilities
|
||||||
|
RUN apt-get update && apt-get install -y \
|
||||||
|
ocl-icd-libopencl1 \
|
||||||
|
opencl-headers \
|
||||||
|
clinfo \
|
||||||
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
|
# 1. Create the vendor directory
|
||||||
|
# 2. Tell OpenCL to use the NVIDIA library
|
||||||
|
RUN mkdir -p /etc/OpenCL/vendors && \
|
||||||
|
echo "libnvidia-opencl.so.1" > /etc/OpenCL/vendors/nvidia.icd
|
||||||
|
|
||||||
|
# Tell the NVIDIA container runtime to expose all GPU capabilities (including compute/utility)
|
||||||
|
ENV NVIDIA_VISIBLE_DEVICES all
|
||||||
|
ENV NVIDIA_DRIVER_CAPABILITIES compute,utility,graphics,video
|
||||||
|
|
||||||
|
COPY ./mods /mods
|
||||||
|
pull: true # Always pull new base image
|
||||||
|
pull_policy: build
|
||||||
|
restart: unless-stopped
|
||||||
|
deploy:
|
||||||
|
resources:
|
||||||
|
reservations:
|
||||||
|
devices:
|
||||||
|
- driver: nvidia
|
||||||
|
count: 1
|
||||||
|
capabilities: [gpu]
|
||||||
|
environment:
|
||||||
|
EULA: true
|
||||||
|
TYPE: "FABRIC"
|
||||||
|
VERSION: 1.21.10
|
||||||
|
MEMORY: 8G
|
||||||
|
MODRINTH_PROJECTS: |-
|
||||||
|
fabric-api
|
||||||
|
c2me
|
||||||
|
ports:
|
||||||
|
- "25565:25565/tcp"
|
||||||
|
volumes:
|
||||||
|
- ./data:/data
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
!!! tip "For advanced use only"
|
!!! tip "For advanced use only"
|
||||||
|
|
||||||
This page describes a capability that is not applicable to most users. It is only intended for rare cases when a very specific Java base image is needed or additional packages need to be installed that are not generally applicable or would bloat the image size.
|
This page describes a capability that is not applicable to most users. It is only intended for rare cases when a very specific Java base image is needed or additional packages need to be installed that are not generally applicable or would bloat the image size.
|
||||||
|
|||||||
@@ -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.
|
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
|
## 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:
|
In the cloned repo, such as [`mc-image-helper`](https://github.com/itzg/mc-image-helper), install the distribution locally by running:
|
||||||
|
|||||||
@@ -86,6 +86,54 @@ Where:
|
|||||||
|
|
||||||
To temporarily disable processing of the `MODRINTH_PROJECTS` list, then comment out the `MODRINTH_PROJECTS` environment variable.
|
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
|
## 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`.
|
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`
|
`MODRINTH_LOADER`
|
||||||
: When using a custom server, set this to specify which loader type will be requested during lookups
|
: When using a custom server, set this to specify which loader type will be requested during lookups
|
||||||
|
|
||||||
|
|||||||
@@ -1,25 +1,25 @@
|
|||||||
click==8.3.1
|
click==8.3.2
|
||||||
colorama==0.4.6
|
colorama==0.4.6
|
||||||
deepmerge==2.0
|
deepmerge==2.0
|
||||||
ghp-import==2.1.0
|
ghp-import==2.1.0
|
||||||
griffe==2.0.0
|
griffe==2.0.2
|
||||||
Jinja2==3.1.6
|
Jinja2==3.1.6
|
||||||
Markdown==3.10.2
|
Markdown==3.10.2
|
||||||
MarkupSafe==3.0.3
|
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.1
|
||||||
pathspec==1.0.4
|
pathspec==1.0.4
|
||||||
platformdirs==4.9.2
|
platformdirs==4.9.6
|
||||||
Pygments==2.19.2
|
Pygments==2.20.0
|
||||||
pymdown-extensions==10.21
|
pymdown-extensions==10.21.2
|
||||||
python-dateutil==2.9.0.post0
|
python-dateutil==2.9.0.post0
|
||||||
PyYAML==6.0.3
|
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 @ file:///
|
zensical==0.0.33
|
||||||
|
|||||||
@@ -397,6 +397,12 @@ This image maps known server properties as described in [this section](configura
|
|||||||
<td><code>Randomly generated</code></td>
|
<td><code>Randomly generated</code></td>
|
||||||
<td>✅</td>
|
<td>✅</td>
|
||||||
</tr>
|
</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>
|
<tr>
|
||||||
<td><code>RCON_PORT</code></td>
|
<td><code>RCON_PORT</code></td>
|
||||||
<td>The port for RCON</td>
|
<td>The port for RCON</td>
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -2,7 +2,8 @@ To use a different Minecraft version, pass the `VERSION` environment variable (c
|
|||||||
|
|
||||||
- `LATEST` for latest release (the default)
|
- `LATEST` for latest release (the default)
|
||||||
- `SNAPSHOT` for latest snapshot
|
- `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)
|
- or an alpha and beta version, such as "b1.7.3" (server download might not exist)
|
||||||
|
|
||||||
For example, to use the latest snapshot:
|
For example, to use the latest snapshot:
|
||||||
|
|||||||
@@ -144,6 +144,7 @@
|
|||||||
"smart-hud",
|
"smart-hud",
|
||||||
"smithing-template-viewer",
|
"smithing-template-viewer",
|
||||||
"smooth-font",
|
"smooth-font",
|
||||||
|
"smooth-swapping",
|
||||||
"smoothwater",
|
"smoothwater",
|
||||||
"sodium",
|
"sodium",
|
||||||
"sodium-extra",
|
"sodium-extra",
|
||||||
|
|||||||
@@ -39,8 +39,6 @@
|
|||||||
"distraction_free_recipes",
|
"distraction_free_recipes",
|
||||||
"drippyloadingscreen",
|
"drippyloadingscreen",
|
||||||
"eating-animation",
|
"eating-animation",
|
||||||
"emi",
|
|
||||||
"emi_loot",
|
|
||||||
"emi_trade",
|
"emi_trade",
|
||||||
"emiffect",
|
"emiffect",
|
||||||
"emitrades",
|
"emitrades",
|
||||||
@@ -94,6 +92,7 @@
|
|||||||
"seasonhud",
|
"seasonhud",
|
||||||
"ShoulderSurfing",
|
"ShoulderSurfing",
|
||||||
"skinlayers3d",
|
"skinlayers3d",
|
||||||
|
"smoothswapping",
|
||||||
"sodium",
|
"sodium",
|
||||||
"sorted_enchantments",
|
"sorted_enchantments",
|
||||||
"tooltipfix",
|
"tooltipfix",
|
||||||
|
|||||||
13
images.json
13
images.json
@@ -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 |
@@ -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
|
||||||
|
|||||||
@@ -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.
|
||||||
|
|||||||
17
tests/manual/optional-projects/compose.yml
Normal file
17
tests/manual/optional-projects/compose.yml
Normal file
@@ -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
|
||||||
Reference in New Issue
Block a user