From 6073575c3bd1e84127183111f2d4c844975ec212 Mon Sep 17 00:00:00 2001 From: Kunthawat Greethong Date: Wed, 29 Apr 2026 08:37:39 +0700 Subject: [PATCH] Add Dockerfile for deployment --- Dockerfile | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 Dockerfile diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..b1be7bc --- /dev/null +++ b/Dockerfile @@ -0,0 +1,36 @@ +FROM node:20-alpine AS deps + +RUN apk add --no-cache python3 make g++ + +WORKDIR /app + +COPY package.json pnpm-lock.yaml* ./ +RUN corepack enable && corepack prepare pnpm@9.0.0 --activate +RUN pnpm install --frozen-lockfile + +FROM deps AS builder + +WORKDIR /app + +COPY --from=deps /app/node_modules ./node_modules +COPY . . + +RUN pnpm build + +FROM deps AS runner + +WORKDIR /app + +ENV NODE_ENV=production + +RUN adduser --system --uid 1001 astro +USER astro + +COPY --from=builder /app/node_modules ./node_modules +COPY --from=builder /app/dist ./dist +COPY --from=builder /app/public ./public +COPY --from=builder /app/data.db ./data.db + +EXPOSE 4321 + +CMD ["node", "./dist/server/entry.mjs"]