Files
blog-ahmza-com/Dockerfile
T

27 lines
839 B
Docker
Raw Normal View History

# syntax=docker/dockerfile:1
# Pin the build stage to the native build platform so Hugo runs once (never
# under QEMU emulation). Hugo output is static HTML — identical across arches —
# so there's no reason to run it per target arch. The runtime stage below stays
# on TARGETPLATFORM, so multi-arch (amd64 + arm64) runtime images are preserved.
FROM --platform=$BUILDPLATFORM ghcr.io/hugomods/hugo:0.157.0 AS build
2024-11-16 20:03:11 +00:00
WORKDIR /tmp/hugo
2026-08-22 01:21:32 +00:00
COPY go.mod ./
RUN hugo mod get
COPY archetypes ./archetypes
COPY assets ./assets
COPY content ./content
COPY static ./static
COPY themes ./themes
COPY hugo.* ./
2024-11-16 20:21:18 +00:00
RUN hugo --gc --minify
2024-11-16 20:03:11 +00:00
FROM ghcr.io/static-web-server/static-web-server:2
COPY sws.toml /etc/sws.toml
COPY --from=build /tmp/hugo/public /public
ENV SERVER_CONFIG_FILE=/etc/sws.toml
2024-11-16 20:03:11 +00:00
EXPOSE 80/tcp
CMD ["--config-file", "/etc/sws.toml"]