Initial commit
This commit is contained in:
76
Dockerfile
Normal file
76
Dockerfile
Normal file
@@ -0,0 +1,76 @@
|
||||
FROM debian:bookworm-slim
|
||||
|
||||
ARG DEBIAN_FRONTEND=noninteractive \
|
||||
TINI_VERSION=0.19.0 \
|
||||
WINE_PGP_URL=https://dl.winehq.org/wine-builds/winehq.key \
|
||||
WINE_SRC_URL=https://dl.winehq.org/wine-builds/debian/dists/bookworm/winehq-bookworm.sources \
|
||||
WINE_FLAVOUR=stable \
|
||||
WINE_VERSION=8.0.2~bookworm-1 \
|
||||
USER_ID=1000 \
|
||||
GROUP_ID=1000
|
||||
|
||||
ADD https://github.com/krallin/tini/releases/download/v${TINI_VERSION}/tini /tini
|
||||
|
||||
RUN chmod +x /tini \
|
||||
&& dpkg --add-architecture i386 \
|
||||
&& apt-get update -y \
|
||||
&& apt-get install -y --no-install-recommends \
|
||||
gnupg \
|
||||
ca-certificates \
|
||||
curl \
|
||||
xauth \
|
||||
xvfb \
|
||||
iproute2 \
|
||||
&& mkdir -pm755 /etc/apt/keyrings \
|
||||
&& curl -fsSL -o /etc/apt/keyrings/winehq-archive.key ${WINE_PGP_URL} \
|
||||
&& curl -fsSL -o /etc/apt/sources.list.d/winehq.sources ${WINE_SRC_URL} \
|
||||
&& apt-get update -y \
|
||||
&& apt-get install -y --no-install-recommends \
|
||||
winehq-${WINE_FLAVOUR}=${WINE_VERSION} \
|
||||
wine-${WINE_FLAVOUR}=${WINE_VERSION} \
|
||||
wine-${WINE_FLAVOUR}-amd64=${WINE_VERSION} \
|
||||
wine-${WINE_FLAVOUR}-i386=${WINE_VERSION} \
|
||||
&& apt-get clean \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# The volume folders need specified ahead of time, otherwise they will be owned by root when created via VOLUME.
|
||||
RUN groupadd --gid $GROUP_ID blockland && useradd --uid $USER_ID --gid $GROUP_ID --create-home --shell /bin/bash blockland \
|
||||
&& mkdir /data /data/Add-Ons /data/config /data/saves /data/modules /data/base \
|
||||
&& chown blockland:blockland -R /data
|
||||
|
||||
USER blockland
|
||||
|
||||
COPY --chmod=0755 --chown=blockland:blockland bin/ /usr/local/bin/
|
||||
|
||||
ENV BL_DEDI_LAN=0 \
|
||||
BL_DTOKEN="" \
|
||||
BL_SERVER_NAME="Blockland_Server" \
|
||||
BL_MAX_PLAYERS=32 \
|
||||
BL_GAMEMODE="Custom" \
|
||||
BL_PORT=28000 \
|
||||
BL_EXTRA_ARGS="" \
|
||||
BL_INST_NUM_PROC=10 \
|
||||
BL_INST_FORCE=0 \
|
||||
BL_INST_OVERWRITE=0 \
|
||||
BL_PATCH_ENABLE=1 \
|
||||
BL_PATCH_EXE_URL=https://gitlab.com/-/project/19166101/uploads/7e9bc075056c3301fd1247975ecaa218/Blockland.exe \
|
||||
BL_PATCH_LOADER_URL=https://gitlab.com/-/project/19166101/uploads/2970aa2d8c23259f8becb0f49630efcc/RedBlocklandLoader.dll \
|
||||
BL_PATCH_WINEFIX_URL=https://gitlab.com/-/project/46964875/uploads/91958483cf78ffc270a09824336bd91a/WineFix.dll \
|
||||
WINEARCH=win32 \
|
||||
WINEDEBUG=-all
|
||||
|
||||
WORKDIR /data
|
||||
|
||||
VOLUME /data/Add-Ons \
|
||||
/data/config \
|
||||
/data/saves \
|
||||
/data/modules \
|
||||
/data/base
|
||||
|
||||
# Dedi LANs force the port to be 28050,
|
||||
# so I'm exposing both for documentation
|
||||
EXPOSE 28000/udp
|
||||
EXPOSE 28050/udp
|
||||
|
||||
# -g is necessary so detaching works properly
|
||||
ENTRYPOINT ["/tini", "-g", "--", "/bin/bash", "-c", "run-bl"]
|
||||
Reference in New Issue
Block a user