stardew-multiplayer-docker/docker/Dockerfile
norimicry 7091e273b6 Improve README formatting and update Dockerfile
Made formatting changes to README.md for improved readability and updated Dockerfile to use Debian 11 as base image, and fetch correct version of dotnet-sdk. `.gitignore` file has been updated to ignore more unnecessary files. Changes reflect more updated development environment and recent build processes.
2024-03-24 14:11:06 -04:00

43 lines
1.8 KiB
Docker

# Pull base image.
FROM jlesage/baseimage-gui:debian-11-v4
# Set the name of the application.
ENV APP_NAME="StardewValley"
RUN apt-get update
RUN apt-get install -y wget unzip tar strace mono-complete xterm gettext-base jq netcat procps
RUN APP_ICON_URL=https://stardewcommunitywiki.com/mediawiki/images/4/48/Fiddlehead_Fern.png && \
install_app_icon.sh "$APP_ICON_URL"
# Game + ModLoader 1.6.2 4.0.1
RUN mkdir -p /data/Stardew && \
mkdir -p /data/nexus && \
wget 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 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 | 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