summaryrefslogtreecommitdiff
path: root/minecraft/Dockerfile
diff options
context:
space:
mode:
Diffstat (limited to 'minecraft/Dockerfile')
-rw-r--r--minecraft/Dockerfile32
1 files changed, 32 insertions, 0 deletions
diff --git a/minecraft/Dockerfile b/minecraft/Dockerfile
new file mode 100644
index 0000000..f44c751
--- /dev/null
+++ b/minecraft/Dockerfile
@@ -0,0 +1,32 @@
+FROM alpine:3.19
+
+# set environment
+ENV LANG en_US.UTF-8
+ENV JAVA_HOME=/usr/lib/jvm/java-21-openjdk
+ENV PATH=/usr/lib/jvm/java-21-openjdk/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
+
+# install packages
+RUN apk add --no-cache tini wget openjdk21-jre jq curl shadow fontconfig ttf-dejavu
+RUN rm -fr /var/cache/apk/*
+
+# copy scripts
+COPY ./mcjar /usr/local/bin/mcjar
+COPY ./mclauncher /usr/local/bin/mclauncher
+RUN chmod +x /usr/local/bin/mcjar
+RUN chmod +x /usr/local/bin/mclauncher
+
+# make user
+RUN addgroup -S mc && adduser -S mc -G mc
+RUN groupmod --gid 1000 mc
+RUN usermod --uid 1000 mc
+
+# make volumes
+RUN mkdir /data && chown mc:mc /data
+VOLUME /data
+
+# final
+USER mc
+WORKDIR /data
+ENV SERVER_DIR=/data
+ENTRYPOINT ["/sbin/tini", "--" ]
+CMD ["/usr/local/bin/mclauncher", "-l"]