From a948b059b37e52a08c762d55c4a171f156e6b39b Mon Sep 17 00:00:00 2001 From: christian Date: Mon, 5 May 2025 18:26:58 +0200 Subject: [PATCH] dockerfile --- Dockerfile | 47 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 Dockerfile diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..c27b04a --- /dev/null +++ b/Dockerfile @@ -0,0 +1,47 @@ + +FROM node:22-alpine AS builder +# Install pnpm +RUN npm install -g pnpm + +WORKDIR /app + +# Copy pnpm specific files +COPY pnpm-lock.yaml package.json ./ + +# Install dependencies +RUN pnpm install --frozen-lockfile + +# Copy the rest of the application +COPY . . + + +# Build the application +RUN pnpm build + +# Production stage +FROM node:20-alpine AS runtime + +WORKDIR /app + +# Copy package files +COPY package.json pnpm-lock.yaml ./ + +# Install pnpm +RUN npm install -g pnpm + +# Install production dependencies only +RUN pnpm install --prod --frozen-lockfile && \ + rm -rf /root/.npm /root/.pnpm-store + + +# Copy built application from builder stage +COPY --from=builder /app/build ./build + +# Use non-root user +USER node + +EXPOSE 3000 + +ENV NODE_ENV=production + +CMD ["vite", "build"]