Files
YaeMikoBot/Dockerfile

26 lines
748 B
Docker

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 TZ=Europe/Moscow
ENV GOMEMLIMIT=256MiB
COPY --from=builder /usr/local/bin/ymgb /app/ymgb
CMD ["/app/ymgb"]
USER nobody