|
|
@ -1,26 +1,32 @@ |
|
|
|
FROM node:14-bullseye-slim AS release |
|
|
|
# DON'T UPDATE TO node:14-bullseye-slim, see #372. |
|
|
|
FROM node:14-buster-slim AS build |
|
|
|
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 |
|
|
|
|
|
|
|
# split the sqlite install here, so that it can caches the arm prebuilt |
|
|
|
RUN npm install mapbox/node-sqlite3#593c9d |
|
|
|
# do not modify it, since we don't want to re-compile the arm prebuilt again |
|
|
|
RUN apt update && \ |
|
|
|
apt --yes install python3 python3-pip python3-dev git g++ make && \ |
|
|
|
ln -s /usr/bin/python3 /usr/bin/python && \ |
|
|
|
npm install mapbox/node-sqlite3#593c9d --build-from-source |
|
|
|
|
|
|
|
# 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 --production |
|
|
|
|
|
|
|
# additional package should be added here, since we don't want to re-compile the arm prebuilt again |
|
|
|
FROM node:14-bullseye-slim AS release |
|
|
|
WORKDIR /app |
|
|
|
|
|
|
|
# Install Apprise, |
|
|
|
# add sqlite3 cli for debugging in the future |
|
|
|
RUN apt --yes install sqlite3 |
|
|
|
|
|
|
|
|
|
|
|
COPY . . |
|
|
|
RUN npm install --legacy-peer-deps && npm run build && npm prune |
|
|
|
# iputils-ping for ping |
|
|
|
RUN apt update && \ |
|
|
|
apt --yes install python3 python3-pip python3-cryptography python3-six python3-yaml python3-click python3-markdown python3-requests python3-requests-oauthlib \ |
|
|
|
sqlite3 \ |
|
|
|
iputils-ping && \ |
|
|
|
pip3 --no-cache-dir install apprise && \ |
|
|
|
rm -rf /var/lib/apt/lists/* |
|
|
|
|
|
|
|
# Copy app files from build layer |
|
|
|
COPY --from=build /app /app |
|
|
|
|
|
|
|
EXPOSE 3001 |
|
|
|
VOLUME ["/app/data"] |
|
|
|