mirror of
https://github.com/itzg/docker-minecraft-server.git
synced 2026-03-09 16:21:23 +00:00
Compare commits
1 Commits
dependabot
...
renovate/r
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
f502acfbff |
1
.github/release.yml
vendored
1
.github/release.yml
vendored
@@ -2,7 +2,6 @@ changelog:
|
||||
exclude:
|
||||
authors:
|
||||
- dependabot
|
||||
- renovate
|
||||
categories:
|
||||
- title: Enhancements
|
||||
labels:
|
||||
|
||||
2
.github/workflows/build.yml
vendored
2
.github/workflows/build.yml
vendored
@@ -102,7 +102,7 @@ jobs:
|
||||
|
||||
- name: Docker meta
|
||||
id: meta
|
||||
uses: docker/metadata-action@v6.0.0
|
||||
uses: docker/metadata-action@v5.10.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.
|
||||
|
||||
40
.github/workflows/issue-label.yml
vendored
40
.github/workflows/issue-label.yml
vendored
@@ -1,17 +1,33 @@
|
||||
name: Issues notify
|
||||
name: Issue labels
|
||||
|
||||
on:
|
||||
issues:
|
||||
types:
|
||||
- opened
|
||||
- labeled
|
||||
- unlabeled
|
||||
- closed
|
||||
types: [labeled, reopened, closed, deleted]
|
||||
|
||||
env:
|
||||
DISCORD_WEBHOOK: ${{ secrets.DISCORD_ISSUES_WEBHOOK }}
|
||||
|
||||
jobs:
|
||||
notify:
|
||||
uses: itzg/github-workflows/.github/workflows/issues-notify-discord.yml@main
|
||||
with:
|
||||
triageLabel: 'status/needs triage'
|
||||
secrets:
|
||||
discordWebhook: "${{secrets.DISCORD_ISSUES_WEBHOOK}}"
|
||||
labelNotify:
|
||||
runs-on: ubuntu-latest
|
||||
timeout-minutes: 5
|
||||
steps:
|
||||
- name: notify on label
|
||||
if: >
|
||||
github.event.label.name == 'enhancement'
|
||||
|| github.event.label.name == 'bug'
|
||||
|| github.event.label.name == 'help wanted'
|
||||
|| github.event.label.name == 'priority/high'
|
||||
|| github.event.label.name == 'question'
|
||||
|| github.event.label.name == 'status/waiting on upstream'
|
||||
uses: Ilshidur/action-discord@master
|
||||
with:
|
||||
args: "[${{ github.event.issue.title }} (#${{ github.event.issue.number }})](<${{ github.event.issue.html_url }}>) added `${{ github.event.label.name }}` label"
|
||||
- name: notify on action change
|
||||
if: >
|
||||
github.event.action == 'closed'
|
||||
|| github.event.action == 'reopened'
|
||||
|| github.event.action == 'deleted'
|
||||
uses: Ilshidur/action-discord@master
|
||||
with:
|
||||
args: "[${{ github.event.issue.title }} (#${{ github.event.issue.number }})](<${{ github.event.issue.html_url }}>) has been `${{ github.event.action }}` by `${{ github.event.sender.login }}`"
|
||||
|
||||
@@ -1,15 +1,19 @@
|
||||
version: 2
|
||||
|
||||
python:
|
||||
install:
|
||||
- requirements: docs/requirements.txt
|
||||
|
||||
build:
|
||||
os: ubuntu-24.04
|
||||
tools:
|
||||
python: "3.14"
|
||||
python: latest
|
||||
jobs:
|
||||
# We recommend using a requirements file for reproducible builds.
|
||||
# This is just a quick example to get started.
|
||||
# https://docs.readthedocs.io/page/guides/reproducible-builds.html
|
||||
install:
|
||||
- pip install -r docs/requirements.txt
|
||||
- pip install zensical
|
||||
build:
|
||||
html:
|
||||
- zensical build
|
||||
|
||||
13
Dockerfile
13
Dockerfile
@@ -25,37 +25,32 @@ EXPOSE 25565
|
||||
ARG APPS_REV=1
|
||||
ARG GITHUB_BASEURL=https://github.com
|
||||
|
||||
# renovate: datasource=github-releases packageName=itzg/easy-add
|
||||
ARG EASY_ADD_VERSION=0.8.11
|
||||
ADD ${GITHUB_BASEURL}/itzg/easy-add/releases/download/${EASY_ADD_VERSION}/easy-add_${TARGETOS}_${TARGETARCH}${TARGETVARIANT} /usr/bin/easy-add
|
||||
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.11
|
||||
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
|
||||
|
||||
# renovate: datasource=github-releases packageName=itzg/rcon-cli
|
||||
ARG RCON_CLI_VERSION=1.7.3
|
||||
RUN easy-add --var os=${TARGETOS} --var arch=${TARGETARCH}${TARGETVARIANT} \
|
||||
--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
|
||||
|
||||
# renovate: datasource=github-releases packageName=itzg/mc-monitor
|
||||
ARG MC_MONITOR_VERSION=0.16.1
|
||||
ARG MC_MONITOR_VERSION=0.16.0
|
||||
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.2
|
||||
ARG MC_SERVER_RUNNER_VERSION=1.14.1
|
||||
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.54.0
|
||||
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
|
||||
|
||||
@@ -31,7 +31,6 @@ apk add --no-cache -U \
|
||||
libpcap \
|
||||
libwebp \
|
||||
libcap \
|
||||
numactl \
|
||||
${EXTRA_ALPINE_PACKAGES}
|
||||
|
||||
# Download and install patched knockd
|
||||
|
||||
@@ -27,7 +27,6 @@ apt-get install -y \
|
||||
lbzip2 \
|
||||
nfs-common \
|
||||
libpcap0.8 \
|
||||
libnuma1 \
|
||||
${EXTRA_DEB_PACKAGES}
|
||||
|
||||
# Install Git LFS
|
||||
|
||||
@@ -166,7 +166,7 @@ such as:
|
||||
|
||||
## HTTP Proxy
|
||||
|
||||
You may configure the use of an HTTP/HTTPS proxy by passing the proxy's "host:port" via the environment variable `PROXY`. In [the example compose file](https://github.com/itzg/docker-minecraft-server/blob/master/examples/proxied/compose.yml) it references a Squid proxy. The host and port can be separately passed via the environment variables `PROXY_HOST` and `PROXY_PORT`. A `|` delimited list of hosts to exclude from proxying can be passed via `PROXY_NON_PROXY_HOSTS`.
|
||||
You may configure the use of an HTTP/HTTPS proxy by passing the proxy's "host:port" via the environment variable `PROXY`. In [the example compose file](https://github.com/itzg/docker-minecraft-server/blob/master/examples/docker-compose-proxied.yml) it references a Squid proxy. The host and port can be separately passed via the environment variables `PROXY_HOST` and `PROXY_PORT`. A `|` delimited list of hosts to exclude from proxying can be passed via `PROXY_NON_PROXY_HOSTS`.
|
||||
|
||||
## Using "noconsole" option
|
||||
|
||||
|
||||
@@ -1,84 +1,4 @@
|
||||
|
||||
## 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"
|
||||
|
||||
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.
|
||||
|
||||
@@ -11,7 +11,7 @@ mkdocs==1.6.1
|
||||
mkdocs-autorefs==1.4.4
|
||||
mkdocs-get-deps==0.2.0
|
||||
mkdocstrings==1.0.3
|
||||
mkdocstrings-python==2.0.3
|
||||
mkdocstrings-python==2.0.2
|
||||
packaging==26.0
|
||||
pathspec==1.0.4
|
||||
platformdirs==4.9.2
|
||||
@@ -22,4 +22,4 @@ PyYAML==6.0.3
|
||||
pyyaml_env_tag==1.1
|
||||
six==1.17.0
|
||||
watchdog==6.0.0
|
||||
zensical==0.0.24
|
||||
# zensical @ file:///
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
{
|
||||
"tag": "latest",
|
||||
"notes": "Always tracks the most recent commit on the main branch",
|
||||
"java": "25",
|
||||
"java": "21",
|
||||
"distribution": "ubuntu",
|
||||
"jvm": "hotspot",
|
||||
"architectures": ["amd64", "arm64"],
|
||||
@@ -141,5 +141,4 @@
|
||||
{"tag": "java8-jdk", "deprecated": true},
|
||||
{"tag": "java8-openj9", "deprecated": true},
|
||||
{"tag": "java8-graalvm-ce", "deprecated": true}
|
||||
|
||||
]
|
||||
]
|
||||
@@ -11,6 +11,5 @@
|
||||
"# renovate: datasource=(?<datasource>[a-z-]+?)(?: packageName=(?<packageName>.+?))?(?: versioning=(?<versioning>[a-z-]+))?\\s(?:ENV|ARG) .+?_VERSION=(?<currentValue>.+?)\\s"
|
||||
]
|
||||
}
|
||||
],
|
||||
"labels": ["dependencies"]
|
||||
]
|
||||
}
|
||||
|
||||
@@ -8,11 +8,8 @@ function getGTNHdownloadPath(){
|
||||
gtnh_download_path=""
|
||||
current_java_version=$(mc-image-helper java-release)
|
||||
|
||||
if ! packs_data="$(
|
||||
curl -fsSL "https://downloads.gtnewhorizons.com/versions.json" \
|
||||
| jq -r '.versions[]?.server? | .[]? | select(type=="string" and test("Server"))'
|
||||
)"; then
|
||||
logError "Failed to retrieve data from https://downloads.gtnewhorizons.com/versions.json"
|
||||
if ! packs_data="$(restify --tag=a https://www.gtnewhorizons.com/version-history/ | jq -r '.[].href | select(test("Server"))')"; then
|
||||
logError "Failed to retrieve data from http://downloads.gtnewhorizons.com/ServerPacks/?raw"
|
||||
exit 1
|
||||
fi
|
||||
mapfile -t packs <<< "$packs_data"
|
||||
|
||||
Reference in New Issue
Block a user