From a631e70b03fe65ab910356b6dbbf45c0cd63b352 Mon Sep 17 00:00:00 2001 From: lotherk Date: Fri, 27 Mar 2026 14:35:23 +0000 Subject: [PATCH] fix: Dockerfile.website - proper multi-stage build for blog generation --- Dockerfile.website | 26 ++++++++------------------ 1 file changed, 8 insertions(+), 18 deletions(-) diff --git a/Dockerfile.website b/Dockerfile.website index ed7eff3..b1b593a 100644 --- a/Dockerfile.website +++ b/Dockerfile.website @@ -1,26 +1,16 @@ -FROM node:20-alpine +FROM node:20-alpine AS builder -WORKDIR /app +WORKDIR /app/www +COPY www/package.json www/package-lock.json ./ +RUN npm install -# Install dependencies for blog build -COPY www/package.json ./www/package.json -RUN cd www && npm install --silent 2>/dev/null || true +COPY www/ ./ +RUN node build-blog.js -# Copy www source files -COPY www/ /app/www/ +FROM nginx:alpine -# Build blog (processes _posts/*.md to blog/*.html) -RUN node www/build-blog.js - -# Run envsubst on HTML files -RUN apk add --no-cache gettext && \ - chmod +x /docker-entrypoint.d/*.sh 2>/dev/null || true - -# Copy entrypoint +COPY --from=builder /app/www/ /usr/share/nginx/html/ COPY docker-entrypoint.d/ /docker-entrypoint.d/ RUN chmod +x /docker-entrypoint.d/*.sh -# Copy to nginx document root -COPY --from=0 /app/www/ /usr/share/nginx/html/ - ENTRYPOINT ["/docker-entrypoint.d/30-envsubst.sh", "--", "nginx", "-g", "daemon off;"]