From 5c87bc93773f52b98c2463c7873799164ad741cd Mon Sep 17 00:00:00 2001 From: vidane Date: Sat, 2 May 2026 17:39:07 -0400 Subject: [PATCH] Add Dockerfile --- Dockerfile | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 Dockerfile diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..18eda72 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,40 @@ +# Build stage +FROM node:22-alpine AS builder + +WORKDIR /app + +# Copy package files +COPY package.json package-lock.json ./ + +# Install dependencies +RUN npm ci + +# Copy source code +COPY . . + +# Build the Next.js app +RUN npm run build + +# Production stage +FROM node:22-alpine AS runner + +WORKDIR /app + +ENV NODE_ENV=production +ENV HOSTNAME="0.0.0.0" +ENV PORT=3000 + +# Create a non-root user +RUN addgroup --system --gid 1001 nodejs && \ + adduser --system --uid 1001 nextjs + +# Copy the built app from builder +COPY --from=builder /app/public ./public +COPY --from=builder --chown=nextjs:nodejs /app/.next/standalone/ ./ +COPY --from=builder --chown=nextjs:nodejs /app/.next/static ./.next/static + +USER nextjs + +EXPOSE 3000 + +CMD ["node", "server.js"]