duplicati_preview/Dockerfile

33 lines
611 B
Docker

ARG NODE_IMAGE=docker.m.daocloud.io/library/node:24-alpine
FROM ${NODE_IMAGE}
ENV NODE_ENV=production \
PORT=3000 \
HTTPS_PORT=3443 \
APP_DB_PATH=/app/data/app.sqlite \
UPLOAD_DIR=/app/data/sources \
TLS_DIR=/app/data/tls \
PREVIEW_MAX_BYTES=16777216
WORKDIR /app
COPY package.json package-lock.json ./
RUN npm ci --omit=dev && npm cache clean --force
COPY public ./public
COPY src ./src
COPY sql ./sql
COPY README.md ./
RUN mkdir -p /app/data/sources /app/data/tls \
&& chown -R node:node /app
USER node
VOLUME ["/app/data"]
EXPOSE 3000 3443
CMD ["node", "src/server.js"]