23 lines
712 B
Docker
23 lines
712 B
Docker
FROM golang:1.26.0-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 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"]
|