FROM --platform=$BUILDPLATFORM golang:alpine AS build ARG TARGETARCH WORKDIR /src RUN apk --no-cache add ca-certificates git nodejs npm COPY . . RUN npx tailwindcss -i static/tailwind.css -o static/app.css -m RUN go mod download RUN GOOS=linux GOARCH=$TARGETARCH CGO_ENABLED=0 go build -ldflags "-X codeberg.org/rimgo/rimgo/pages.VersionInfo=$(date '+%Y-%m-%d')-$(git rev-list --abbrev-commit -1 HEAD)" \ && GOOS=linux GOARCH=$TARGETARCH CGO_ENABLED=0 go build -o healthcheck ./healthcheck FROM scratch as bin WORKDIR /app COPY --from=build /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/ COPY --from=build /src/rimgo . COPY --from=build /src/healthcheck . HEALTHCHECK --interval=60s --timeout=5s --start-period=2s --retries=3 CMD [ "/healthcheck","http://localhost:3000/livez" ] EXPOSE 3000 CMD ["/app/rimgo"]