Update Dockerfile
This commit is contained in:
+33
-13
@@ -1,25 +1,45 @@
|
|||||||
FROM --platform=$TARGETOS/$TARGETARCH ghcr.io/2sharkystudios/yolks:debian
|
FROM --platform=$TARGETOS/$TARGETARCH ghcr.io/2sharkystudios/yolks:ubuntu
|
||||||
|
|
||||||
LABEL author="Kyle Speight" maintainer="chillcog3142@proton.me"
|
LABEL author="Kyle Speight" maintainer="chillcog3142@proton.me"
|
||||||
|
|
||||||
ENV DEBIAN_FRONTEND=noninteractive
|
ENV DEBIAN_FRONTEND=noninteractive
|
||||||
|
|
||||||
RUN apt update -y \
|
# 1. Install basics (Ubuntu usually has these, but good to ensure)
|
||||||
&& apt upgrade -y \
|
RUN apt-get update && apt-get install -y \
|
||||||
&& apt install -y apt-transport-https wget curl git git-lfs iproute2 libgdiplus tini software-properties-common \
|
apt-transport-https \
|
||||||
&& wget https://dot.net/v1/dotnet-install.sh \
|
ca-certificates \
|
||||||
&& 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')" \
|
wget \
|
||||||
&& chmod +x dotnet-install.sh \
|
curl \
|
||||||
&& ./dotnet-install.sh -i /usr/share -v $D_V \
|
lsb-release \
|
||||||
&& ln -s /usr/share/dotnet /usr/bin/dotnet
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
# FIXED SECTION BELOW
|
# 2. Install .NET SDK
|
||||||
RUN wget -q https://packages.microsoft.com/config/debian/12/packages-microsoft-prod.deb \
|
RUN wget -q https://dot.net/v1/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')" \
|
||||||
|
&& ./dotnet-install.sh -i /usr/share -v "$D_V" \
|
||||||
|
&& ln -s /usr/share/dotnet /usr/bin/dotnet \
|
||||||
|
&& rm dotnet-install.sh
|
||||||
|
|
||||||
|
# 3. Install PowerShell (Now works natively on Ubuntu)
|
||||||
|
RUN wget -q https://packages.microsoft.com/config/ubuntu/$(lsb_release -rs)/packages-microsoft-prod.deb \
|
||||||
&& dpkg -i packages-microsoft-prod.deb \
|
&& dpkg -i packages-microsoft-prod.deb \
|
||||||
&& rm packages-microsoft-prod.deb \
|
&& rm packages-microsoft-prod.deb \
|
||||||
&& apt-get update \
|
&& apt-get update \
|
||||||
&& apt-get install -y powershell
|
&& apt-get install -y powershell \
|
||||||
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
|
# 4. Install remaining deps
|
||||||
|
RUN apt-get update && apt-get install -y \
|
||||||
|
git \
|
||||||
|
git-lfs \
|
||||||
|
iproute2 \
|
||||||
|
libgdiplus \
|
||||||
|
tini \
|
||||||
|
software-properties-common \
|
||||||
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
|
# 5. Clone, Build, and Cleanup
|
||||||
RUN mkdir -p /workspace/ /build/ \
|
RUN mkdir -p /workspace/ /build/ \
|
||||||
&& cd /workspace \
|
&& cd /workspace \
|
||||||
&& git clone https://github.com/2SharkyStudios/SPT-Server-Build.git /workspace/git \
|
&& git clone https://github.com/2SharkyStudios/SPT-Server-Build.git /workspace/git \
|
||||||
@@ -30,7 +50,7 @@ RUN mkdir -p /workspace/ /build/ \
|
|||||||
&& dotnet publish -o /build/ -c Release -p:SptBuildType=RELEASE -p:SptVersion=4.0.11 \
|
&& dotnet publish -o /build/ -c Release -p:SptBuildType=RELEASE -p:SptVersion=4.0.11 \
|
||||||
&& rm -rf /workspace/
|
&& rm -rf /workspace/
|
||||||
|
|
||||||
# Move files to home directory (since COPY from host won't work for generated files)
|
# 6. Move build output to user home
|
||||||
RUN mv /build/* /home/container/ 2>/dev/null || true \
|
RUN mv /build/* /home/container/ 2>/dev/null || true \
|
||||||
&& chown -R container:container /home/container/
|
&& chown -R container:container /home/container/
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user