# Stage 1: Tailwind CSS Builder
FROM d3fk/tailwindcss:v3 AS tailwind-builder
WORKDIR /project
COPY tailwind.config.js ./
COPY input.css ./
COPY hugo/layouts ./layouts
RUN ["/tailwindcss", "-i", "input.css", "-o", "main.min.css", "--minify"]

# Stage 2: Hugo Site Builder
FROM floryn90/hugo:alpine AS hugo-builder
WORKDIR /src
COPY hugo/ ./
COPY --from=tailwind-builder /project/main.min.css ./static/css/main.min.css
RUN hugo build --minify --destination ./public && cp -r ./public /tmp/public

# Stage 3: NGINX Serving
FROM nginx:1.28.0-alpine-slim
COPY --from=hugo-builder /tmp/public /usr/share/nginx/html
HEALTHCHECK --interval=1m --timeout=10s --start-period=10s CMD wget -q -O /dev/null http://localhost/ || exit 1
