File size: 1,637 Bytes
775a611 | 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 38 39 40 | FROM eclipse-temurin:21-jre-jammy
# ββ metadata ββββββββββββββββββββββββββββββββββββββββββββββ
LABEL maintainer="your-username"
LABEL description="Minecraft Java Server on Hugging Face Spaces"
# ββ env defaults (override in HF Space secrets / env vars) β
ENV MC_VERSION="1.21.4"
ENV MC_MEMORY="1G"
ENV MC_MAX_MEMORY="2G"
ENV MC_WORLD="world"
ENV SERVER_PORT=25565
ENV EULA=true
# ββ system deps βββββββββββββββββββββββββββββββββββββββββββ
RUN apt-get update && apt-get install -y --no-install-recommends \
curl wget jq ca-certificates \
&& rm -rf /var/lib/apt/lists/*
# ββ create non-root user (HF Spaces requires uid 1000) ββββ
RUN useradd -m -u 1000 minecraft
WORKDIR /home/minecraft
# ββ data directory (world saves, configs, logs) βββββββββββ
RUN mkdir -p /data && chown -R minecraft:minecraft /data
# ββ copy scripts ββββββββββββββββββββββββββββββββββββββββββ
COPY --chown=minecraft:minecraft start.sh /home/minecraft/start.sh
COPY --chown=minecraft:minecraft config/server.properties.template \
/home/minecraft/server.properties.template
RUN chmod +x /home/minecraft/start.sh
# ββ switch to non-root ββββββββββββββββββββββββββββββββββββ
USER minecraft
EXPOSE ${SERVER_PORT}
ENTRYPOINT ["/home/minecraft/start.sh"]
|