# Stage 1 - build
FROM node:20-alpine AS builder
WORKDIR /hexo
RUN apk add --no-cache git
RUN npm install -g hexo-cli
RUN hexo init . && npm install
# Clean up default files
RUN rm -rf source/* scaffolds themes/landscape
# Copy each build,
RUN git clone --depth=1 https://github.com/LTDev-LLC/hexo-theme-flux-palette.git themes/flux-palette && rm -rf themes/flux-palette/.git
# or COPY a local fork/clone
# COPY ../hexo-theme-flux-palette themes/flux-palette
RUN npm install @swc/core
# Copy config and content
COPY . .
RUN hexo clean && hexo generate || { echo "Hexo generate failed"; exit 1; }
# Stage 2 - run
FROM busybox:latest
COPY --from=builder /hexo/public /www
CMD ["httpd", "-f", "-v", "-p", "8024", "-h", "/www"]