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