FROM        --platform=$TARGETOS/$TARGETARCH ghcr.io/2sharkystudios/yolks:debian

LABEL       author="Kyle Speight" maintainer="chillcog3142@proton.me"

ENV         DEBIAN_FRONTEND=noninteractive

RUN         apt update -y \
            && apt upgrade -y \
            && apt install -y apt-transport-https wget curl git git-lfs iproute2 libgdiplus tini software-properties-common \
            && wget https://dot.net/v1/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')" \ 
            && chmod +x dotnet-install.sh \
			      && ./dotnet-install.sh -i /usr/share -v $D_V \
            && ln -s /usr/share/dotnet /usr/bin/dotnet

RUN         wget -q https://packages.microsoft.com/config/ubuntu/$(lsb_release -rs)/packages-microsoft-prod.deb \
            && dpkg -i packages-microsoft-prod.deb \
            && rm packages-microsoft-prod.deb \
            && apt-get update \
            && apt-get install -y powershell

RUN         mkdir -p /workspace/ /build/ \
            && cd /workspace \
            && git clone https://github.com/2SharkyStudios/SPT-Server-Build.git /workspace/git \
            && cd /workspace/git/ \
            && git lfs pull \
            && cd /workspace/git/SPTarkov.Server/

RUN         dotnet restore \
            && dotnet publish -o /build/ -c Release -p:SptBuildType=RELEASE -p:SptVersion=4.0.11 \
            && rm -rf /workspace/

USER        container
ENV         USER=container HOME=/home/container
WORKDIR     /home/container

STOPSIGNAL SIGINT

COPY        --chown=container:container ./../entrypoint.sh /entrypoint.sh
RUN         chmod +x /entrypoint.sh
ENTRYPOINT    ["/usr/bin/tini", "-g", "--"]
CMD         ["/entrypoint.sh"]
