add build files
This commit is contained in:
@@ -0,0 +1,43 @@
|
||||
FROM debian:bookworm-slim
|
||||
|
||||
ENV USERNAME=archipelago
|
||||
ENV HOMEDIR=/home/${USERNAME}
|
||||
ENV SERVERDIR=${HOMEDIR}/server
|
||||
ENV SAVEDIR=${HOMEDIR}/saves
|
||||
ENV TMPDIR=${HOMEDIR}/tmp
|
||||
ENV SERVERVERSION="0.6.7"
|
||||
|
||||
# Download Server
|
||||
ADD https://github.com/ArchipelagoMW/Archipelago/releases/download/${SERVERVERSION}/Archipelago_${SERVERVERSION}_linux-x86_64.tar.gz ${TMPDIR}/Archipelago.tar.gz
|
||||
|
||||
# Install dependencies, unpack server and clear tmp files
|
||||
RUN set -x \
|
||||
&& apt-get update \
|
||||
&& apt-get install -y --no-install-recommends --no-install-suggests \
|
||||
p7zip-full \
|
||||
&& cd ${TMPDIR} \
|
||||
&& 7z x Archipelago.tar.gz \
|
||||
&& 7z x *.tar \
|
||||
&& mkdir ${SERVERDIR} \
|
||||
&& mkdir ${SAVEDIR} \
|
||||
&& mv Archipelago/ArchipelagoServer ${SERVERDIR} \
|
||||
&& mv Archipelago/lib ${SERVERDIR} \
|
||||
&& chmod +x ${SERVERDIR}/ArchipelagoServer \
|
||||
&& rm -rf ./* \
|
||||
&& apt-get remove --purge -y \
|
||||
p7zip-full \
|
||||
&& apt-get clean autoclean \
|
||||
&& apt-get autoremove -y \
|
||||
&& rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
|
||||
|
||||
WORKDIR $SERVERDIR
|
||||
|
||||
COPY start_server.sh .
|
||||
|
||||
RUN set -x \
|
||||
&& chmod +x ./start_server.sh
|
||||
|
||||
CMD [ "./start_server.sh" ]
|
||||
|
||||
# required env vars
|
||||
# SERVERPASSWORD
|
||||
@@ -0,0 +1,25 @@
|
||||
#!/bin/bash
|
||||
shopt -s nullglob
|
||||
|
||||
if [[ -z "$SERVERPASSWORD" ]]; then
|
||||
echo "Env Var SERVERPASSWORD is not set"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
files=( ${SAVEDIR}/*.zip )
|
||||
savefile=${files[0]}
|
||||
if [[ -z "$savefile" ]]; then
|
||||
echo "No .zip savefile found in save directory ${SAVEDIR}"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
echo "Using savefile ${savefile}"
|
||||
|
||||
./ArchipelagoServer ${savefile} --port 38281 --password ${SERVERPASSWORD}
|
||||
|
||||
if [[ $? -eq 0 ]]; then
|
||||
echo "Started Archipelago Server"
|
||||
else
|
||||
echo "Error: Failed to start server"
|
||||
exit 0
|
||||
fi
|
||||
Reference in New Issue
Block a user