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