|
|
|
# DON'T UPDATE TO node:14-bullseye-slim, see #372.
|
|
|
|
# If the image changed, the second stage image should be changed too
|
|
|
|
FROM node:16-buster-slim
|
|
|
|
ARG TARGETPLATFORM
|
|
|
|
|
|
|
|
WORKDIR /app
|
|
|
|
|
|
|
|
# Specify --no-install-recommends to skip unused dependencies, make the base much smaller!
|
|
|
|
# python3* = apprise's dependencies
|
|
|
|
# sqlite3 = for debugging
|
|
|
|
# iputils-ping = for ping
|
|
|
|
# util-linux = for setpriv (Should be dropped in 2.0.0?)
|
|
|
|
# dumb-init = avoid zombie processes (#480)
|
|
|
|
# curl = for debugging
|
|
|
|
# ca-certificates = keep the cert up-to-date
|
|
|
|
# sudo = for start service nscd with non-root user
|
|
|
|
# nscd = for better DNS caching
|
|
|
|
# (pip) apprise = for notifications
|
|
|
|
RUN apt-get update && \
|
|
|
|
apt-get --yes --no-install-recommends install \
|
|
|
|
python3 python3-pip python3-cryptography python3-six python3-yaml python3-click python3-markdown python3-requests python3-requests-oauthlib \
|
|
|
|
sqlite3 \
|
|
|
|
iputils-ping \
|
|
|
|
util-linux \
|
|
|
|
dumb-init \
|
|
|
|
curl \
|
|
|
|
ca-certificates \
|
|
|
|
sudo \
|
|
|
|
nscd && \
|
|
|
|
pip3 --no-cache-dir install apprise==1.4.5 && \
|
|
|
|
rm -rf /var/lib/apt/lists/* && \
|
|
|
|
apt --yes autoremove
|
|
|
|
|
|
|
|
# Install cloudflared
|
|
|
|
RUN set -eux && \
|
|
|
|
mkdir -p --mode=0755 /usr/share/keyrings && \
|
|
|
|
curl --fail --show-error --silent --location --insecure https://pkg.cloudflare.com/cloudflare-main.gpg --output /usr/share/keyrings/cloudflare-main.gpg && \
|
|
|
|
echo 'deb [signed-by=/usr/share/keyrings/cloudflare-main.gpg] https://pkg.cloudflare.com/cloudflared buster main' | tee /etc/apt/sources.list.d/cloudflared.list && \
|
|
|
|
apt-get update && \
|
|
|
|
apt-get install --yes --no-install-recommends cloudflared && \
|
|
|
|
cloudflared version && \
|
|
|
|
rm -rf /var/lib/apt/lists/* && \
|
|
|
|
apt --yes autoremove
|
|
|
|
|
|
|
|
# For nscd
|
|
|
|
COPY ./docker/etc/nscd.conf /etc/nscd.conf
|
|
|
|
COPY ./docker/etc/sudoers /etc/sudoers
|
|
|
|
|