41 lines
1.7 KiB
Docker
41 lines
1.7 KiB
Docker
# Pull base image.
|
|
FROM jlesage/baseimage-gui:debian-11
|
|
|
|
# Set the name of the application.
|
|
ENV APP_NAME="StardewValley"
|
|
|
|
RUN apt-get update && apt-get install -y wget unzip tar strace mono-complete xterm gettext-base jq netcat procps && apt-get clean
|
|
|
|
# Game + ModLoader 1.6.2 4.0.1
|
|
RUN mkdir -p /data/Stardew && \
|
|
mkdir -p /data/nexus && \
|
|
wget --user-agent="Mozilla" https://mirror.cloudcraft.info/Stardew_Valley_latest.tar.gz -qO /data/latest.tar.gz && \
|
|
tar xf /data/latest.tar.gz -C /data/Stardew && \
|
|
rm /data/latest.tar.gz
|
|
|
|
RUN wget -qO dotnet.tar.gz https://download.visualstudio.microsoft.com/download/pr/d4b71fac-a2fd-4516-ac58-100fb09d796a/e79d6c2a8040b59bf49c0d167ae70a7b/dotnet-sdk-5.0.408-linux-arm64.tar.gz &&\
|
|
tar -zxf dotnet.tar.gz -C /usr/share/dotnet &&\
|
|
rm dotnet.tar.gz &&\
|
|
ln -s /usr/share/dotnet/dotnet /usr/bin/dotnet
|
|
|
|
RUN wget --user-agent="Mozilla" https://mirror.cloudcraft.info/SMAPI_latest.zip -qO /data/nexus.zip && \
|
|
unzip /data/nexus.zip -d /data/nexus/ && \
|
|
SMAPI_INSTALLER=$(find /data/nexus -name 'SMAPI*.*Installer' -type f -path "*/SMAPI * installer/internal/linux/*" | head -n 1) && \
|
|
/bin/bash -c "SMAPI_NO_TERMINAL=true SMAPI_USE_CURRENT_SHELL=true echo -e '2\n\n' | \"$SMAPI_INSTALLER\" --install --game-path '/data/Stardew/game'" || :
|
|
|
|
# Add Mods & Scripts
|
|
COPY ["mods/", "/data/Stardew/game/Mods/"]
|
|
COPY scripts/ /opt/
|
|
|
|
RUN chmod +x /data/Stardew/game/StardewValley && \
|
|
chmod -R 777 /data/Stardew/ && \
|
|
chown -R 1000:1000 /data/Stardew && \
|
|
chmod +x /opt/*.sh
|
|
|
|
RUN mkdir /etc/services.d/utils && touch /etc/services.d/app/utils.dep
|
|
COPY run /etc/services.d/utils/run
|
|
RUN chmod +x /etc/services.d/utils/run
|
|
|
|
COPY docker-entrypoint.sh /startapp.sh
|
|
RUN chmod +x /startapp.sh
|