Update Dockerfile

This commit is contained in:
Kyle Speight
2026-05-30 03:22:46 -07:00
parent dc89aa89fe
commit 3e6f1579bb
+11 -6
View File
@@ -4,14 +4,12 @@ LABEL author="Kyle Speight" maintainer="chillcog3142@proton.me"
ENV DEBIAN_FRONTEND=noninteractive ENV DEBIAN_FRONTEND=noninteractive
USER container # 1. Install base dependencies (Running as root by default)
ENV USER=container HOME=/home/container
WORKDIR /home/container/
RUN apt-get update \ RUN apt-get update \
&& apt-get install -y ca-certificates gnupg lsb-release wget curl \ && apt-get install -y ca-certificates gnupg lsb-release wget curl \
&& rm -rf /var/lib/apt/lists/* && rm -rf /var/lib/apt/lists/*
# 2. Install .NET SDK (Running as root)
RUN wget -q https://dot.net/v1/dotnet-install.sh \ RUN wget -q https://dot.net/v1/dotnet-install.sh \
&& chmod +x dotnet-install.sh \ && chmod +x dotnet-install.sh \
&& D_V="$(curl -sSL https://dotnet.microsoft.com/en-us/download/dotnet/9.0 | grep -i '<h3 id="sdk-9.*">SDK 9.*.*</h3>' | head -1 | awk -F\" '{print $3}' | awk '{print $2;}' | sed 's/<\/h3>//g')" \ && D_V="$(curl -sSL https://dotnet.microsoft.com/en-us/download/dotnet/9.0 | grep -i '<h3 id="sdk-9.*">SDK 9.*.*</h3>' | head -1 | awk -F\" '{print $3}' | awk '{print $2;}' | sed 's/<\/h3>//g')" \
@@ -19,6 +17,7 @@ RUN wget -q https://dot.net/v1/dotnet-install.sh \
&& ln -s /usr/share/dotnet /usr/bin/dotnet \ && ln -s /usr/share/dotnet /usr/bin/dotnet \
&& rm dotnet-install.sh && rm dotnet-install.sh
# 3. Install PowerShell (Running as root)
RUN mkdir -p /etc/apt/keyrings \ RUN mkdir -p /etc/apt/keyrings \
&& curl -sSL https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor -o /etc/apt/keyrings/microsoft-prod.gpg \ && curl -sSL https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor -o /etc/apt/keyrings/microsoft-prod.gpg \
&& echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/microsoft-prod.gpg] https://packages.microsoft.com/repos/microsoft-ubuntu-jammy-prod jammy main" > /etc/apt/sources.list.d/microsoft-prod.list \ && echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/microsoft-prod.gpg] https://packages.microsoft.com/repos/microsoft-ubuntu-jammy-prod jammy main" > /etc/apt/sources.list.d/microsoft-prod.list \
@@ -26,20 +25,26 @@ RUN mkdir -p /etc/apt/keyrings \
&& apt-get install -y powershell \ && apt-get install -y powershell \
&& rm -rf /var/lib/apt/lists/* && rm -rf /var/lib/apt/lists/*
# 4. Install remaining dependencies # 4. Install remaining dependencies (Running as root)
RUN apt-get update \ RUN apt-get update \
&& apt-get install -y git git-lfs iproute2 libgdiplus tini software-properties-common \ && apt-get install -y git git-lfs iproute2 libgdiplus tini software-properties-common \
&& rm -rf /var/lib/apt/lists/* && rm -rf /var/lib/apt/lists/*
# 5. Build the application (Running as root)
RUN mkdir -p /home/container/git/ /home/container/build/ \ RUN mkdir -p /home/container/git/ /home/container/build/ \
&& cd /home/container/ \ && cd /home/container/ \
&& git clone https://github.com/2SharkyStudios/SPT-Server-Build.git /home/container/git \ && git clone https://github.com/2SharkyStudios/SPT-Server-Build.git /home/container/git \
&& cd /workspace/git/ \ && cd /home/container/git/ \
&& git lfs pull \ && git lfs pull \
&& cd /home/container/git/SPTarkov.Server/ \ && cd /home/container/git/SPTarkov.Server/ \
&& dotnet restore \ && dotnet restore \
&& dotnet build -o /home/container/build/ -c Release -p:SptBuildType=RELEASE -p:SptVersion=4.0.11 && dotnet build -o /home/container/build/ -c Release -p:SptBuildType=RELEASE -p:SptVersion=4.0.11
# 6. Switch to non-root user NOW (After all installations are done)
USER container
ENV USER=container HOME=/home/container
WORKDIR /home/container/
STOPSIGNAL SIGINT STOPSIGNAL SIGINT
COPY --chown=container:container ./../entrypoint.sh /entrypoint.sh COPY --chown=container:container ./../entrypoint.sh /entrypoint.sh