| ADD alpine-minirootfs-3.22.4-x86_64.tar.gz / # buildkit |
| CMD ["/bin/sh"] |
| RUN /bin/sh -c apk add --no-cache ca-certificates # buildkit |
| ENV GOLANG_VERSION=1.26.3 |
| ENV GOTOOLCHAIN=local |
| ENV GOPATH=/go |
| ENV PATH=/go/bin:/usr/local/go/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin |
| COPY /target/ / # buildkit |
| RUN /bin/sh -c mkdir -p "$GOPATH/src" "$GOPATH/bin" && chmod -R 1777 "$GOPATH" # buildkit |
| WORKDIR /go |
| COPY /usr/bin/hugo /usr/bin/hugo # buildkit |
| RUN /bin/sh -c apk add --no-cache libc6-compat git runuser nodejs npm openssh-client tar # buildkit |
| RUN /bin/sh -c mkdir -p /var/hugo/bin /cache && addgroup -Sg 1000 hugo && adduser -Sg hugo -u 1000 -h /var/hugo hugo && chown -R hugo: /var/hugo /cache && runuser -u hugo -- git config --global --add safe.directory /project && runuser -u hugo -- git config --global core.quotepath false # buildkit |
| USER hugo:hugo |
| VOLUME [/project] |
| WORKDIR /project |
| ENV HUGO_CACHEDIR=/cache |
| ENV PATH=/var/hugo/bin:/go/bin:/usr/local/go/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin |
| COPY scripts/docker/entrypoint.sh /entrypoint.sh # buildkit |
| COPY /out/dart-sass /var/hugo/bin/dart-sass # buildkit |
| ENV PATH=/var/hugo/bin/dart-sass:/var/hugo/bin:/go/bin:/usr/local/go/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin |
| EXPOSE [1313/tcp] |
| ENTRYPOINT ["/entrypoint.sh"] |
| CMD ["--help"] |
| USER root |
| RUN /bin/sh -c apk add --no-cache ca-certificates tzdata # buildkit |
| COPY /out/indyweb /usr/local/bin/indyweb # buildkit |
| RUN /bin/sh -c mkdir -p /site && chown hugo:hugo /site # buildkit |
| WORKDIR /site |
| ENV INDYWEB_SITE=/site INDYWEB_BIND=0.0.0.0:8080 |
| EXPOSE [8080/tcp] |
| HEALTHCHECK {Test:[CMD-SHELL wget -qO- http://127.0.0.1:8080/.indyweb/health || exit 1] Interval:30s Timeout:5s StartPeriod:0s StartInterval:0s Retries:3} |
| USER hugo |
| ENTRYPOINT ["indyweb"] |
| CMD ["serve"] |