From c5079c12dc88b2b925049cdd3954757049be2367 Mon Sep 17 00:00:00 2001 From: Sjoerd de Vries Date: Wed, 20 May 2026 18:25:40 +0200 Subject: [PATCH] feat: Dockerfile --- .dockerignore | 6 ++++++ Dockerfile | 20 ++++++++++++++++++++ 2 files changed, 26 insertions(+) create mode 100644 .dockerignore create mode 100644 Dockerfile diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..41accb4 --- /dev/null +++ b/.dockerignore @@ -0,0 +1,6 @@ +node_modules/ +dist/ +data/ +.env +*.md +.git/ diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..cb798df --- /dev/null +++ b/Dockerfile @@ -0,0 +1,20 @@ +FROM node:20-alpine AS builder +WORKDIR /app +RUN apk add --no-cache python3 make g++ +COPY package*.json ./ +RUN npm ci +COPY tsconfig.json ./ +COPY src ./src +RUN npm run build + +FROM node:20-alpine AS runner +WORKDIR /app +RUN apk add --no-cache python3 make g++ +RUN addgroup -S appgroup && adduser -S appuser -G appgroup +COPY package*.json ./ +RUN npm ci --omit=dev && npm cache clean --force +RUN apk del python3 make g++ +COPY --from=builder /app/dist ./dist +RUN mkdir -p /app/data && chown appuser:appgroup /app/data +USER appuser +CMD ["node", "dist/index.js"]