Files
nginx-proxy-manager/Dockerfile
renovate[bot] 80d49cd2a2 dep updates/fix quic
Update zoeyvid/nginx-quic Docker tag to v103
Update zoeyvid/nginx-quic Docker tag to v101
Update zoeyvid/nginx-quic Docker tag to v99
Update zoeyvid/nginx-quic Docker tag to v97
Update zoeyvid/nginx-quic Docker tag to v96
Update dependency @babel/core to v7.21.4
Update dependency nodemon to v2.0.22
Update dependency eslint to v8.37.0
Update alpine Docker tag to v3.17.3
Signed-off-by: Zoey <zoey@z0ey.de>
2023-04-04 11:47:50 +02:00

58 lines
2.0 KiB
Docker

FROM --platform="$BUILDPLATFORM" alpine:3.17.3 as frontend
COPY global /build/global
COPY frontend /build/frontend
ARG NODE_ENV=production \
NODE_OPTIONS=--openssl-legacy-provider
RUN apk add --no-cache ca-certificates nodejs yarn git python3 build-base && \
cd /build/frontend && \
sed -i "s|\"0.0.0\"|\""$(cat ../global/.version)"\"|g" package.json && \
yarn --no-lockfile install && \
yarn --no-lockfile build && \
yarn cache clean --all
COPY security.txt /build/frontend/dist/.well-known/security.txt
FROM --platform="$BUILDPLATFORM" alpine:3.17.3 as backend
COPY backend /build/backend
COPY global /build/backend/global
ARG NODE_ENV=production \
TARGETARCH
RUN apk add --no-cache ca-certificates nodejs-current yarn && \
wget https://gobinaries.com/tj/node-prune -O - | sh && \
cd /build/backend && \
sed -i "s|\"0.0.0\"|\""$(cat global/.version)"\"|g" package.json && \
if [ "$TARGETARCH" = "amd64" ]; then \
npm_config_target_platform=linux npm_config_target_arch=x64 yarn install --no-lockfile; \
elif [ "$TARGETARCH" = "arm64" ]; then \
npm_config_target_platform=linux npm_config_target_arch=arm64 yarn install --no-lockfile; \
fi && \
node-prune && \
yarn cache clean --all
FROM zoeyvid/nginx-quic:103
RUN apk add --no-cache ca-certificates tzdata \
nodejs-current \
openssl apache2-utils \
coreutils grep jq curl \
build-base libffi-dev && \
# Install Certbot
pip install --no-cache-dir certbot && \
# Clean
apk del --no-cache build-base libffi-dev
COPY rootfs /
COPY --from=backend /build/backend /app
COPY --from=frontend /build/frontend/dist /app/frontend
RUN ln -s /app/password-reset.js /usr/local/bin/password-reset.js && \
ln -s /app/sqlite-vaccum.js /usr/local/bin/sqlite-vaccum.js && \
ln -s /app/index.js /usr/local/bin/index.js
ENV NODE_ENV=production \
DB_SQLITE_FILE=/data/database.sqlite
WORKDIR /app
ENTRYPOINT ["start.sh"]
HEALTHCHECK CMD check-health.sh