FROM docker.io/golang:1.26-alpine AS build RUN apk add --no-cache upx ca-certificates WORKDIR /src COPY . ./ RUN go mod download RUN --mount=type=cache,target=/root/.cache/go-build \ go build -ldflags="-s" -o /bin/main ./cmd/web RUN upx -9 -k /bin/main FROM litestream/litestream:latest AS litestream FROM scratch ENV PORT=9001 COPY --from=build /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/ COPY --from=litestream /usr/local/bin/litestream /usr/local/bin/litestream COPY litestream.yml /etc/litestream.yml COPY --from=build /bin/main / ENTRYPOINT ["/usr/local/bin/litestream", "replicate", "-exec", "/main"]