mirror of
https://github.com/AsgardEternal/SquadDocker.git
synced 2024-09-28 09:24:22 -05:00
64 lines
1.7 KiB
Docker
64 lines
1.7 KiB
Docker
# syntax=docker/dockerfile:1.4
|
|
FROM asgard.orion-technologies.io/steamcmd:1.0 AS build
|
|
LABEL maintainer="price@orion-technologies.io"
|
|
|
|
ARG squad_js_version="3.6.1"
|
|
ENV STEAM_APP_ID=403240
|
|
ENV STEAM_BETA_APP_ID=774961
|
|
ENV WORKSHOP_ID=393380
|
|
ENV STEAM_BETA_PASSWORD=""
|
|
ENV STEAM_BETA_BRANCH=""
|
|
ENV USE_SQUAD_BETA=0
|
|
ENV MODS=""
|
|
ENV UPDATE_SQUAD=0
|
|
|
|
ENV RCON_PASSWORD=""
|
|
ENV SQUAD_SERVER_DIR="${USER_HOME}/Squad-Server"
|
|
# Space delimited list of mod numbers that are built into the image, e.g. 101 202 303
|
|
ENV GAMEPORT=7787 \
|
|
QUERYPORT=27165 \
|
|
RCONPORT=21114 \
|
|
FIXEDMAXPLAYERS=98 \
|
|
FIXEDMAXTICKRATE=40 \
|
|
RANDOM=NONE
|
|
|
|
COPY --chown=${USER}:${USER} --chmod=0755 ./scripts/entry.bash "${USER_HOME}/entry.bash"
|
|
COPY --chown=root:root --chmod=0755 ./scripts/prepare-node14-yarn.bash /root/prepare-node14-yarn.bash
|
|
|
|
# hadolint ignore=DL3003
|
|
RUN <<__EOR__
|
|
apt-get update
|
|
# Requirements for node
|
|
apt-get install -y --no-install-suggests --no-install-recommends \
|
|
lsb-release=11.1.0 \
|
|
apt-transport-https=2.2.4 \
|
|
gnupg=2.2.27-2+deb11u2 \
|
|
sqlite=3.34.1-3
|
|
|
|
/bin/bash /root/prepare-node14-yarn.bash
|
|
|
|
apt-get remove --purge --auto-remove -y
|
|
rm -rf /var/lib/apt/lists/* /root/prepare-node14-yarn.bash
|
|
|
|
(
|
|
mkdir -p "${SQUAD_SERVER_DIR}"
|
|
cd "${SQUAD_SERVER_DIR}" || exit 1
|
|
curl -L0 https://github.com/Team-Silver-Sphere/SquadJS/refs/tags/v${squad_js_version}.tar.gz --output squad-js-${squad_js_version}.tar.gz
|
|
tar -xf squad-js-${squad_js_version}.tar.gz
|
|
mv SquadJS-${squad_js_version} SquadJS
|
|
)
|
|
|
|
__EOR__
|
|
|
|
FROM build AS prod
|
|
SHELL [ "/bin/bash" ]
|
|
WORKDIR "${USER_HOME}"
|
|
|
|
EXPOSE 7787/udp \
|
|
27165/tcp \
|
|
27165/udp \
|
|
21114/tcp \
|
|
21114/udp
|
|
|
|
ENTRYPOINT [ "/bin/bash", "entry.bash" ]
|