THEZYZSTUDIO commited on
Commit
775a611
Β·
verified Β·
1 Parent(s): 019c960

Create Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +39 -0
Dockerfile ADDED
@@ -0,0 +1,39 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ FROM eclipse-temurin:21-jre-jammy
2
+
3
+ # ── metadata ──────────────────────────────────────────────
4
+ LABEL maintainer="your-username"
5
+ LABEL description="Minecraft Java Server on Hugging Face Spaces"
6
+
7
+ # ── env defaults (override in HF Space secrets / env vars) ─
8
+ ENV MC_VERSION="1.21.4"
9
+ ENV MC_MEMORY="1G"
10
+ ENV MC_MAX_MEMORY="2G"
11
+ ENV MC_WORLD="world"
12
+ ENV SERVER_PORT=25565
13
+ ENV EULA=true
14
+
15
+ # ── system deps ───────────────────────────────────────────
16
+ RUN apt-get update && apt-get install -y --no-install-recommends \
17
+ curl wget jq ca-certificates \
18
+ && rm -rf /var/lib/apt/lists/*
19
+
20
+ # ── create non-root user (HF Spaces requires uid 1000) ────
21
+ RUN useradd -m -u 1000 minecraft
22
+ WORKDIR /home/minecraft
23
+
24
+ # ── data directory (world saves, configs, logs) ───────────
25
+ RUN mkdir -p /data && chown -R minecraft:minecraft /data
26
+
27
+ # ── copy scripts ──────────────────────────────────────────
28
+ COPY --chown=minecraft:minecraft start.sh /home/minecraft/start.sh
29
+ COPY --chown=minecraft:minecraft config/server.properties.template \
30
+ /home/minecraft/server.properties.template
31
+
32
+ RUN chmod +x /home/minecraft/start.sh
33
+
34
+ # ── switch to non-root ────────────────────────────────────
35
+ USER minecraft
36
+
37
+ EXPOSE ${SERVER_PORT}
38
+
39
+ ENTRYPOINT ["/home/minecraft/start.sh"]