ThumeMail/backend/Dockerfile
2025-08-10 12:55:16 -04:00

19 lines
541 B
Docker

FROM node:20-alpine AS build
WORKDIR /app
COPY package*.json ./
RUN if [ -f package-lock.json ]; then npm ci; else npm install; fi
COPY tsconfig.json ./
COPY src ./src
RUN npm run build
FROM node:20-alpine
WORKDIR /app
ENV IMAP_CLIENT_DB_PATH=/data/app.db
RUN addgroup -S app && adduser -S app -G app && mkdir -p /data && chown app:app /data
COPY --from=build /app/dist ./dist
COPY package*.json ./
RUN if [ -f package-lock.json ]; then npm ci --omit=dev; else npm install --omit=dev; fi
USER app
EXPOSE 8080
CMD ["node", "dist/server.js"]