20 lines
721 B
Docker
20 lines
721 B
Docker
# 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
|