SquadJSDocker/Dockerfile

48 lines
1.1 KiB
Docker
Raw Normal View History

2023-01-25 17:48:46 -06:00
# syntax=docker/dockerfile:1.4
# hadolint global ignore=DL3003,DL3008
FROM debian:bullseye-slim AS setup
ARG squadjs_version="3.6.1"
ENV USER="squadjs"
ENV USER_HOME="/home/${USER}"
ENV SQUADJS_DIR="${USER_HOME}/SquadJS/"
COPY --chown=root:root --chmod=0744 ./scripts/prepare-node14-yarn.bash /root/prepare-node14-yarn.bash
SHELL [ "/bin/bash", "-c" ]
RUN <<__EOR__
printf "Creating user\n"
useradd -m "${USER}"
printf "Installing Prereqs\n"
/root/prepare-node14-yarn.bash
apt-get update
apt-get install -y --no-install-suggests --no-install-recommends \
yarn \
nodejs \
2023-01-25 20:45:50 -06:00
git=1:2.30.2-1 \
sqlite3=3.34.1-3
2023-01-25 17:48:46 -06:00
su "${USER}" - <<- __EOC__
(
git clone --depth 1 --branch "v${squadjs_version}" https://github.com/Team-Silver-Sphere/SquadJS.git "${USER_HOME}/SquadJS"
cd "${USER_HOME}/SquadJS" || exit 1
yarn install
yarn cache clean
)
__EOC__
apt-get remove git yarn
rm -rf /var/lib/apt/lists/* /root/prepare-node14-yarn.bash
__EOR__
FROM setup as prod
USER "${USER}"
WORKDIR "${USER_HOME}/SquadJS"
ENTRYPOINT ["/usr/bin/node", "./index.js"]