Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Debian Dockerfile refactoring and improvements #347

Merged
merged 3 commits into from
Sep 7, 2021
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
29 changes: 14 additions & 15 deletions dockerfile-debian
Original file line number Diff line number Diff line change
@@ -1,28 +1,27 @@
# DON'T UPDATE TO alpine3.13, 1.14, see #41.
FROM node:14-bullseye AS release
WORKDIR /app
FROM node:14-bullseye-slim AS release

RUN apt update
RUN apt --yes install python3 python3-pip python3-dev git g++ make
RUN ln -s /usr/bin/python3 /usr/bin/python
WORKDIR /app
COPY . .

# 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
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