Initial commit

This commit is contained in:
Eagle517
2025-02-09 03:28:25 -06:00
commit f3f758c163
6 changed files with 223 additions and 0 deletions

76
Dockerfile Normal file
View 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"]