# Multi-stage lightweight build for pengzhan.dev skeleton FROM node:22-alpine AS dependencies WORKDIR /app COPY package*.json ./ RUN npm ci --omit=dev FROM node:22-alpine AS runner WORKDIR /app ENV NODE_ENV=production ENV PORT=3000 # Copy node_modules from dependencies stage COPY --from=dependencies /app/node_modules ./node_modules COPY package*.json ./ # Copy skeleton web framework code COPY server/ ./server/ COPY views/ ./views/ COPY public/ ./public/ # Persistent Volume mount point VOLUME /app/content EXPOSE 3000 USER node CMD ["node", "server/index.js"]