File size: 1,283 Bytes
7dba04c
2857436
fe7ee07
2857436
a633efb
 
fe7ee07
2857436
a633efb
 
2857436
ea3dede
a633efb
 
 
 
 
fe7ee07
3ae5795
 
 
 
 
 
a633efb
fe7ee07
2857436
3ae5795
a633efb
2857436
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
FROM openjdk:21-jdk-slim

ENV DEBIAN_FRONTEND=noninteractive

# essentials
RUN apt-get update && apt-get install -y wget curl unzip jq ca-certificates \
    && rm -rf /var/lib/apt/lists/*

# make server dir writable
RUN mkdir -p /server && chmod -R a+rwx /server
WORKDIR /server

# Download latest playit agent binary (amd64) from GitHub releases (redirect)
RUN curl -L -o /server/playit https://github.com/playit-cloud/playit-agent/releases/latest/download/playit-linux-amd64 \
    && chmod +x /server/playit

# Fetch latest Minecraft release and download server.jar
RUN set -eux; \
    MANIFEST_URL="https://piston-meta.mojang.com/mc/game/version_manifest_v2.json"; \
    MANIFEST_JSON="$(curl -sS "${MANIFEST_URL}")"; \
    LATEST_VER="$(printf '%s' "${MANIFEST_JSON}" | jq -r '.latest.release')"; \
    VERSION_URL="$(printf '%s' "${MANIFEST_JSON}" | jq -r --arg v "${LATEST_VER}" '.versions[] | select(.id==$v) | .url')"; \
    curl -sSf "${VERSION_URL}" -o version.json; \
    SERVER_JAR_URL="$(jq -r '.downloads.server.url' version.json)"; \
    wget -O /server/server.jar "${SERVER_JAR_URL}"; \
    rm -f version.json

# Accept EULA
RUN echo "eula=true" > /server/eula.txt

EXPOSE 25565

COPY start.sh /server/start.sh
RUN chmod +x /server/start.sh

CMD ["/server/start.sh"]