site/Dockerfile

29 lines
485 B
Text
Raw Normal View History

2025-07-22 17:23:13 -04:00
# Builder stage
2025-06-26 16:59:15 -04:00
FROM node:22-alpine AS builder
WORKDIR /app
2025-07-22 17:23:13 -04:00
# Install deps for build
COPY package*.json .
2025-06-26 16:59:15 -04:00
RUN npm ci
2025-07-22 17:23:13 -04:00
# Copy source and build
2025-06-26 16:59:15 -04:00
COPY . .
RUN npm run build
2025-07-22 17:23:13 -04:00
# Final image
2025-06-26 16:59:15 -04:00
FROM node:22-alpine
WORKDIR /app
2025-07-22 17:23:13 -04:00
# Copy only what's needed for runtime
COPY package.json ./
COPY --from=builder /app/build ./build/
COPY --from=builder /app/node_modules ./node_modules/
# Prune dev dependencies
RUN npm prune --production
2025-06-26 16:59:15 -04:00
EXPOSE 3000
ENV NODE_ENV=production
2025-07-22 17:23:13 -04:00
CMD ["node", "build"]