update and build
This commit is contained in:
@@ -0,0 +1,35 @@
|
||||
FROM gitea.fithwum.tech/fithwum/debian-base:bookworm
|
||||
LABEL maintainer="fithwum"
|
||||
|
||||
# Environment Variables
|
||||
ENV VS_CHANNEL=""
|
||||
ENV VS_VERSION=""
|
||||
ENV USERNAME=""
|
||||
|
||||
# URL's for files
|
||||
ARG INSTALL_SCRIPT=https://gitea.fithwum.tech/fithwum/vintage-story/raw/branch/main/vanilla/install_script.sh
|
||||
|
||||
# Install Dependencies.
|
||||
RUN apt-get -y update && apt-get autoclean && apt-get autoremove \
|
||||
&& wget https://packages.microsoft.com/config/debian/12/packages-microsoft-prod.deb -O packages-microsoft-prod.deb \
|
||||
&& dpkg -i packages-microsoft-prod.deb \
|
||||
&& rm packages-microsoft-prod.deb \
|
||||
&& apt-get -y update && apt-get install dotnet-sdk-7.0 bzip2 jq wget procps pcregrep screen -y \
|
||||
&& adduser vintagestory \
|
||||
&& apt-get -y --fix-broken install \
|
||||
&& rm -rf /var/lib/apt/lists/* \
|
||||
&& update-ca-certificates -f;
|
||||
|
||||
# Folder creation.
|
||||
RUN mkdir -p /vs_server /vs_server/server /vs_server/data /vs_temp /vs_temp/files \
|
||||
&& chmod 777 -R /vs_server /vs_temp \
|
||||
&& chown 99:100 -R /vs_server /vs_temp
|
||||
|
||||
RUN wget --no-cache "$INSTALL_SCRIPT" -O /vs_temp/install_script.sh \
|
||||
&& chmod +x /vs_temp/install_script.sh
|
||||
|
||||
# Directory where data is stored
|
||||
VOLUME /vs_server
|
||||
|
||||
# Run command
|
||||
CMD [ "/bin/bash", "./vs_temp/install_script.sh" ]
|
||||
@@ -0,0 +1,51 @@
|
||||
#!/bin/bash
|
||||
# Copyright (c) 2022 fithwum
|
||||
# All rights reserved
|
||||
|
||||
VS_SERVER_FILE=https://cdn.vintagestory.at/gamefiles/$VS_CHANNEL/vs_server_linux-x64_$VS_VERSION.tar.gz
|
||||
|
||||
# Main install (Debian).
|
||||
# Check for server files and download if needed.
|
||||
if [ -e /vs_server/server/server-$VS_VERSION.sh ]
|
||||
then
|
||||
echo " "
|
||||
echo "INFO ! server-$VS_VERSION.sh found starting now."
|
||||
else
|
||||
echo " "
|
||||
echo "WARNING ! server-$VS_VERSION.sh is out of date/missing ... will download now."
|
||||
echo " "
|
||||
echo "INFO ! Cleaning old files."
|
||||
mkdir /vs_server/old-server-versions/
|
||||
mv /vs_server/server/* /vs_server/old-server-versions/server/
|
||||
wget --no-cache --show-progress --progress=bar:force:noscroll $VS_SERVER_FILE -O /vs_temp/vs_server_linux-x64_$VS_VERSION.tar.gz
|
||||
tar -xzf /vs_temp/vs_server_linux-x64_$VS_VERSION.tar.gz -C /vs_temp/files
|
||||
rm -fr /vs_temp/vs_server_linux-x64_*.*.*.tar.gz
|
||||
cp -uR /vs_temp/files/* /vs_server/server/
|
||||
rm -fr /vs_temp/files/
|
||||
mv /vs_server/server/server.sh /vs_server/server/server-$VS_VERSION.sh
|
||||
fi
|
||||
|
||||
sleep 1
|
||||
|
||||
echo "INFO ! Setting server path."
|
||||
sed '/VSPATH='/home/vintagestory/server'/c\VSPATH='/vs_server/server'' /vs_server/server/server-$VS_VERSION.sh
|
||||
echo "INFO ! Setting data path."
|
||||
sed '/DATAPATH='/var/vintagestory/data'/c\DATAPATH='/vs_server/data'' /vs_server/server/server-$VS_VERSION.sh
|
||||
echo "INFO ! Setting username."
|
||||
sed '/USERNAME='vintagestory'/c\USERNAME='$USERNAME'' /vs_server/server/server-$VS_VERSION.sh
|
||||
|
||||
sleep 1
|
||||
|
||||
# Set permissions.
|
||||
chown 99:100 -R /vs_server
|
||||
chmod 776 -R /vs_server
|
||||
chmod +x /vs_server/server/server-$VS_VERSION.sh
|
||||
|
||||
sleep 1
|
||||
|
||||
# Run vintage-story server.
|
||||
echo " "
|
||||
echo "INFO ! Starting vintage-story Server $VS_VERSION"
|
||||
exec /vs_server/server/server-$VS_VERSION.sh
|
||||
|
||||
exit
|
||||
Reference in New Issue
Block a user