FROM golang:1.25.6-alpine3.23 AS builder ARG BUILD_TIME ARG GIT_COMMIT WORKDIR /usr/src/kurumi COPY go.mod go.sum ./ #COPY ./laniakea ./laniakea RUN --mount=type=cache,target=/go/pkg/mod go mod download COPY ./database ./database COPY ./plugins ./plugins COPY ./utils ./utils COPY ./main.go ./ RUN --mount=type=cache,target=/root/.cache/go-build \ --mount=type=cache,target=/go/pkg/mod \ CGO_ENABLED=0 GOEXPERIMENT=greenteagc go build -trimpath \ -ldflags="-s -w -X 'kurumibot/utils.BuildTime=$BUILD_TIME' -X 'kurumibot/utils.GitCommit=$GIT_COMMIT'" \ -v -o /usr/local/bin/kurumi ./ FROM alpine:3.23 AS runner WORKDIR /app ENV GOMEMLIMIT=256MiB COPY --from=builder /usr/local/bin/kurumi /app/kurumi CMD ["/app/kurumi"]