From 5fe8a0917ac11ba7e68f9e35c581793568f51c72 Mon Sep 17 00:00:00 2001 From: Juan Calderon-Perez <835733+gaby@users.noreply.github.com> Date: Mon, 6 Sep 2021 22:20:12 -0400 Subject: [PATCH 1/3] Refactor Debian Dockerfile --- dockerfile-debian | 29 ++++++++++++++--------------- 1 file changed, 14 insertions(+), 15 deletions(-) diff --git a/dockerfile-debian b/dockerfile-debian index 7e0f79890..ea195d142 100644 --- a/dockerfile-debian +++ b/dockerfile-debian @@ -1,22 +1,20 @@ -# DON'T UPDATE TO alpine3.13, 1.14, see #41. -FROM node:14-bullseye AS release +FROM node:14-bullseye-slim AS release + WORKDIR /app +COPY . . -RUN apt update -RUN apt --yes install python3 python3-pip python3-dev git g++ make -RUN ln -s /usr/bin/python3 /usr/bin/python - -# split the sqlite install here, so that it can caches the arm prebuilt +# install dependencies and apprise +RUN apt update && \ + apt --yes --no-install-recommends install python3 python3-pip iputils-ping git && \ + ln -s /usr/bin/python3 /usr/bin/python && \ + pip3 --no-cache-dir install apprise && \ + rm -rf /root/.cache && \ + apt clean + +# sqlite install here, so that it can caches the arm prebuilt RUN npm install mapbox/node-sqlite3#593c9d -# Install apprise -RUN apt --yes install python3 python3-pip python3-cryptography python3-six python3-yaml python3-click python3-markdown python3-requests python3-requests-oauthlib -RUN pip3 --no-cache-dir install apprise && \ - rm -rf /root/.cache - -RUN apt --yes install iputils-ping - -COPY . . +# Install app RUN npm install --legacy-peer-deps && npm run build && npm prune EXPOSE 3001 @@ -24,5 +22,6 @@ VOLUME ["/app/data"] HEALTHCHECK --interval=60s --timeout=30s --start-period=300s CMD node extra/healthcheck.js CMD ["node", "server/server.js"] +# Release FROM release AS nightly RUN npm run mark-as-nightly From 66b5f157eb6562727714765bfdcda5c50eafb8ac Mon Sep 17 00:00:00 2001 From: Juan Calderon-Perez <835733+gaby@users.noreply.github.com> Date: Tue, 7 Sep 2021 00:13:07 -0400 Subject: [PATCH 2/3] Update Dockerfile order to improve layer caching. --- dockerfile-debian | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/dockerfile-debian b/dockerfile-debian index ea195d142..1e340d719 100644 --- a/dockerfile-debian +++ b/dockerfile-debian @@ -1,9 +1,5 @@ FROM node:14-bullseye-slim AS release -WORKDIR /app -COPY . . - -# install dependencies and apprise RUN apt update && \ apt --yes --no-install-recommends install python3 python3-pip iputils-ping git && \ ln -s /usr/bin/python3 /usr/bin/python && \ @@ -11,10 +7,12 @@ RUN apt update && \ rm -rf /root/.cache && \ apt clean -# sqlite install here, so that it can caches the arm prebuilt +# split the sqlite install here, so that it can caches the arm prebuilt RUN npm install mapbox/node-sqlite3#593c9d -# Install app +# Install uptime-kuma +WORKDIR /app +COPY . . RUN npm install --legacy-peer-deps && npm run build && npm prune EXPOSE 3001 @@ -22,6 +20,5 @@ VOLUME ["/app/data"] HEALTHCHECK --interval=60s --timeout=30s --start-period=300s CMD node extra/healthcheck.js CMD ["node", "server/server.js"] -# Release FROM release AS nightly RUN npm run mark-as-nightly From ce30ee74e9d97a9a8fa5cc85c36a5ab62d8ff0af Mon Sep 17 00:00:00 2001 From: Juan Calderon-Perez <835733+gaby@users.noreply.github.com> Date: Tue, 7 Sep 2021 01:26:42 -0400 Subject: [PATCH 3/3] Revert changes breaking ARM releases --- dockerfile-debian | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/dockerfile-debian b/dockerfile-debian index 1e340d719..ba6cdde45 100644 --- a/dockerfile-debian +++ b/dockerfile-debian @@ -1,17 +1,18 @@ FROM node:14-bullseye-slim AS release +WORKDIR /app + +# install dependencies +RUN apt update && apt --yes install python3 python3-pip python3-dev git g++ make iputils-ping +RUN ln -s /usr/bin/python3 /usr/bin/python -RUN apt update && \ - apt --yes --no-install-recommends install python3 python3-pip iputils-ping git && \ - ln -s /usr/bin/python3 /usr/bin/python && \ - pip3 --no-cache-dir install apprise && \ - rm -rf /root/.cache && \ - apt clean - # split the sqlite install here, so that it can caches the arm prebuilt RUN npm install mapbox/node-sqlite3#593c9d -# Install uptime-kuma -WORKDIR /app +# Install apprise +RUN apt --yes install python3-cryptography python3-six python3-yaml python3-click python3-markdown python3-requests python3-requests-oauthlib +RUN pip3 --no-cache-dir install apprise && \ + rm -rf /root/.cache + COPY . . RUN npm install --legacy-peer-deps && npm run build && npm prune