2024-10-26 14:47:38 +02:00
|
|
|
# Download Apprise deb package
|
|
|
|
FROM node:20-bookworm-slim AS download-apprise
|
|
|
|
WORKDIR /app
|
|
|
|
COPY ./extra/download-apprise.mjs ./download-apprise.mjs
|
|
|
|
RUN apt update && \
|
|
|
|
apt --yes --no-install-recommends install curl && \
|
|
|
|
npm install cheerio semver && \
|
|
|
|
node ./download-apprise.mjs
|
|
|
|
|
|
|
|
# Base Image (Slim)
|
2021-10-01 11:28:00 +02:00
|
|
|
# If the image changed, the second stage image should be changed too
|
2023-07-30 17:47:07 +02:00
|
|
|
FROM node:20-bookworm-slim AS base2-slim
|
2022-03-28 20:24:10 +02:00
|
|
|
ARG TARGETPLATFORM
|
|
|
|
|
2023-07-24 11:04:50 +02:00
|
|
|
# Specify --no-install-recommends to skip unused dependencies, make the base much smaller!
|
|
|
|
# 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
|
2024-06-24 10:20:12 +02:00
|
|
|
RUN apt update && \
|
|
|
|
apt --yes --no-install-recommends install \
|
|
|
|
sqlite3 \
|
|
|
|
ca-certificates \
|
2023-07-24 11:04:50 +02:00
|
|
|
iputils-ping \
|
|
|
|
util-linux \
|
|
|
|
dumb-init \
|
|
|
|
curl \
|
|
|
|
sudo \
|
|
|
|
nscd && \
|
2022-06-15 09:18:14 +02:00
|
|
|
rm -rf /var/lib/apt/lists/* && \
|
|
|
|
apt --yes autoremove
|
2022-03-28 20:24:10 +02:00
|
|
|
|
2024-06-24 10:20:12 +02:00
|
|
|
# apprise = for notifications (Install from the deb package, as the stable one is too old) (workaround for #4867)
|
|
|
|
# Switching to testing repo is no longer working, as the testing repo is not bookworm anymore.
|
|
|
|
# python3-paho-mqtt (#4859)
|
2024-10-26 14:47:38 +02:00
|
|
|
# TODO: no idea how to delete the deb file after installation as it becomes a layer already
|
|
|
|
COPY --from=download-apprise /app/apprise.deb ./apprise.deb
|
|
|
|
RUN apt update && \
|
2024-06-24 13:49:37 +02:00
|
|
|
apt --yes --no-install-recommends install ./apprise.deb python3-paho-mqtt && \
|
2024-06-24 10:20:12 +02:00
|
|
|
rm -rf /var/lib/apt/lists/* && \
|
|
|
|
rm -f apprise.deb && \
|
|
|
|
apt --yes autoremove
|
2023-07-30 13:15:09 +02:00
|
|
|
|
2022-03-28 20:24:10 +02:00
|
|
|
# Install cloudflared
|
2023-06-30 11:26:37 +02:00
|
|
|
RUN curl 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 bullseye main' | tee /etc/apt/sources.list.d/cloudflared.list && \
|
|
|
|
apt update && \
|
2023-07-30 17:47:07 +02:00
|
|
|
apt install --yes --no-install-recommends -t stable cloudflared && \
|
2023-04-24 05:09:31 +02:00
|
|
|
cloudflared version && \
|
2022-03-28 20:24:10 +02:00
|
|
|
rm -rf /var/lib/apt/lists/* && \
|
2022-06-15 09:18:14 +02:00
|
|
|
apt --yes autoremove
|
2022-03-28 20:24:10 +02:00
|
|
|
|
2023-07-24 11:04:50 +02:00
|
|
|
# For nscd
|
|
|
|
COPY ./docker/etc/nscd.conf /etc/nscd.conf
|
|
|
|
COPY ./docker/etc/sudoers /etc/sudoers
|
|
|
|
|
2023-07-30 13:15:09 +02:00
|
|
|
|
2023-06-30 11:26:37 +02:00
|
|
|
# Full Base Image
|
|
|
|
# MariaDB, Chromium and fonts
|
2024-06-24 10:20:12 +02:00
|
|
|
# Make sure to reuse the slim image here. Uncomment the above line if you want to build it from scratch.
|
|
|
|
# FROM base2-slim AS base2
|
|
|
|
FROM louislam/uptime-kuma:base2-slim AS base2
|
2023-06-30 16:17:07 +02:00
|
|
|
ENV UPTIME_KUMA_ENABLE_EMBEDDED_MARIADB=1
|
2023-02-05 10:45:36 +01:00
|
|
|
RUN apt update && \
|
2023-06-30 11:26:37 +02:00
|
|
|
apt --yes --no-install-recommends install chromium fonts-indic fonts-noto fonts-noto-cjk mariadb-server && \
|
2023-02-05 10:45:36 +01:00
|
|
|
rm -rf /var/lib/apt/lists/* && \
|
2023-06-30 11:26:37 +02:00
|
|
|
apt --yes autoremove && \
|
|
|
|
chown -R node:node /var/lib/mysql
|