51 lines
1.2 KiB
Docker
51 lines
1.2 KiB
Docker
FROM sapmachine:21-jre-headless-ubuntu
|
|
|
|
|
|
ENV WORKDIR_PATH=/workspace
|
|
ENV CONFIG_PATH=${WORKDIR_PATH}/config
|
|
ENV DATA_PATH=${WORKDIR_PATH}/data
|
|
|
|
ADD ./src ${CONFIG_PATH}
|
|
RUN mkdir ${DATA_PATH}
|
|
|
|
|
|
RUN mkdir ${DATA_PATH}/logs && \
|
|
ln -sf ${DATA_PATH}/logs ${CONFIG_PATH}
|
|
|
|
# Generate unicode locale so that cyrillic characters display properly
|
|
RUN apt-get update -y && apt-get install -y locales && \
|
|
echo en_US.UTF-8 UTF-8 > /etc/locale.gen && \
|
|
dpkg-reconfigure --frontend=noninteractive locales && \
|
|
rm -Rf var/lib/apt/lists/*
|
|
ENV LANG en_US.UTF-8
|
|
|
|
|
|
VOLUME ${DATA_PATH}
|
|
|
|
|
|
EXPOSE 25565/tcp
|
|
|
|
|
|
ENV MEMORY=1G
|
|
ENV PROXY_SECRET=change_me
|
|
|
|
|
|
WORKDIR ${WORKDIR_PATH}/config
|
|
|
|
CMD \
|
|
# Create and switch to user with desired UID and GID.
|
|
# All processes that create/change files in ${DATA_PATH}
|
|
# must be run under this user.
|
|
groupadd -g ${GID} worker && \
|
|
useradd -M -g ${GID} -u ${UID} worker && \
|
|
chmod -R o-rwx ${WORKDIR_PATH} && \
|
|
|
|
# Add proxy secret
|
|
sed -i "s/_PROXY_SECRET_/${PROXY_SECRET}/g" settings.yml && \
|
|
|
|
# Change UID and GID of used files to desired values.
|
|
chown -R worker:worker ${WORKDIR_PATH} && \
|
|
|
|
# Launch
|
|
su worker -c "java -Xms${MEMORY} -Xmx${MEMORY} -jar *.jar --nogui"
|