From 738732db20d827c4a305434a82c6464f3ebaf65d Mon Sep 17 00:00:00 2001 From: Adam Malczewski Date: Thu, 2 Apr 2026 02:22:36 +0900 Subject: project setup --- Dockerfile | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 Dockerfile (limited to 'Dockerfile') diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..94772b6 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,28 @@ +# ── Stage 1: Build ── +FROM node:20-alpine AS builder + +WORKDIR /app + +COPY package.json package-lock.json ./ +RUN npm ci + +COPY tsup.config.ts tsconfig.json ./ +COPY src/ ./src/ + +RUN npm run build + +# ── Stage 2: Production ── +FROM node:20-alpine + +WORKDIR /app + +RUN apk add --no-cache ffmpeg + +COPY package.json package-lock.json ./ +RUN npm ci --omit=dev + +COPY --from=builder /app/dist ./dist + +ENV NODE_ENV=production + +CMD ["node", "dist/index.js"] -- cgit v1.2.3