Files
webshop/Dockerfile
DanielS 7bb6807d37
Some checks failed
Staging Build / build (push) Failing after 34s
Fix global error page, update CI workflow, add Dockerfile
2026-06-22 22:30:55 +02:00

43 lines
999 B
Docker
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Use a multistage build for a Next.js app
# ---------- Builder stage ----------
FROM node:20-alpine AS builder
# Set working directory
WORKDIR /app
# Install dependencies (use package lock when present)
COPY shop/package*.json ./
RUN npm ci --omit=dev
# Copy the source code
COPY shop/ .
# Build the production output
RUN npm run build
# ---------- Runtime stage ----------
FROM node:20-alpine AS runner
WORKDIR /app
# Copy only the built assets and runtime dependencies from the builder
COPY --from=builder /app/.next ./.next
COPY --from=builder /app/public ./public
COPY --from=builder /app/package*.json ./
COPY --from=builder /app/next.config.mjs ./
COPY --from=builder /app/next-env.d.ts ./
COPY --from=builder /app/tsconfig.json ./
# Install production dependencies (already installed in builder, but ensure they are present)
RUN npm ci --omit=dev
# Environment variables
ENV NODE_ENV=production
ENV PORT=3000
EXPOSE 3000
# Start the Next.js server
CMD ["npm", "run", "start"]