2021-10-01 10:28:00 +01:00
# DON'T UPDATE TO node:14-bullseye-slim, see #372.
# If the image changed, the second stage image should be changed too
2022-03-17 05:04:43 +00:00
FROM node:16-buster-slim
2022-03-28 19:24:10 +01:00
ARG TARGETPLATFORM
2021-10-01 10:28:00 +01:00
WORKDIR /app
2022-03-28 19:24:10 +01:00
# Install Curl
2021-10-01 10:28:00 +01:00
# Install Apprise, add sqlite3 cli for debugging in the future, iputils-ping for ping, util-linux for setpriv
2021-12-05 08:05:52 +00:00
# Stupid python3 and python3-pip actually install a lot of useless things into Debian, specify --no-install-recommends to skip them, make the base even smaller than alpine!
2021-10-01 10:28:00 +01:00
RUN apt update && \
2021-10-01 11:25:21 +01:00
apt --yes --no-install-recommends install python3 python3-pip python3-cryptography python3-six python3-yaml python3-click python3-markdown python3-requests python3-requests-oauthlib \
2023-01-28 11:00:13 +00:00
sqlite3 iputils-ping util-linux dumb-init git && \
2023-03-01 15:23:16 +00:00
pip3 --no-cache-dir install apprise==1.3.0 && \
2022-06-15 08:18:14 +01:00
rm -rf /var/lib/apt/lists/* && \
apt --yes autoremove
2022-03-28 19:24:10 +01:00
# Install cloudflared
# dpkg --add-architecture arm: cloudflared do not provide armhf, this is workaround. Read more: https://github.com/cloudflare/cloudflared/issues/583
COPY extra/download-cloudflared.js ./extra/download-cloudflared.js
RUN node ./extra/download-cloudflared.js $TARGETPLATFORM && \
dpkg --add-architecture arm && \
apt update && \
apt --yes --no-install-recommends install ./cloudflared.deb && \
rm -rf /var/lib/apt/lists/* && \
2022-06-15 08:18:14 +01:00
rm -f cloudflared.deb && \
apt --yes autoremove
2022-03-28 19:24:10 +01:00