All checks were successful
release-tag / release-image (push) Successful in 1m43s
21 lines
707 B
Docker
21 lines
707 B
Docker
FROM golang:1.26-alpine AS build
|
|
WORKDIR /src
|
|
COPY go.mod ./
|
|
COPY cmd ./cmd
|
|
COPY internal ./internal
|
|
RUN CGO_ENABLED=0 GOOS=linux go build -trimpath -ldflags="-s -w" -o /out/glpi-ai-agent ./cmd/agent
|
|
|
|
# One-shot helper used by docker compose to prepare the persistent volume for
|
|
# the distroless non-root runtime user (UID/GID 65532).
|
|
FROM golang:1.26-alpine AS data-init
|
|
ENTRYPOINT ["sh", "-c", "mkdir -p /app/data && chown -R 65532:65532 /app/data && chmod 0750 /app/data"]
|
|
|
|
FROM gcr.io/distroless/static-debian12:nonroot
|
|
WORKDIR /app
|
|
COPY --from=build /out/glpi-ai-agent /app/glpi-ai-agent
|
|
COPY knowledge /app/knowledge
|
|
VOLUME ["/app/data"]
|
|
EXPOSE 8080
|
|
USER 65532:65532
|
|
ENTRYPOINT ["/app/glpi-ai-agent"]
|