Files
strudel-docker/Dockerfile
2025-09-17 18:26:25 +01:00

33 lines
700 B
Docker

# Stage 1: Build the app
FROM node:24 AS builder
WORKDIR /app
# Install pnpm globally
RUN npm install pnpm --global
# Copy relevant files
COPY pnpm-workspace.yaml ./
COPY package.json pnpm-lock.yaml ./
COPY packages/ ./packages/
COPY website/package.json ./website/
COPY website/ ./website/
COPY jsdoc/ ./jsdoc/
COPY my-patterns/ ./my-patterns/
# Install dependencies and build production assets
RUN pnpm install
RUN pnpm build
# Stage 2: Serve the built app using nginx
FROM nginx:alpine AS production
# Copy built static files from builder stage
COPY --from=builder /app/website/dist /usr/share/nginx/html
# Expose port 80
EXPOSE 80
# Start nginx service
CMD ["nginx", "-g", "daemon off;"]