16 lines
513 B
Docker
16 lines
513 B
Docker
FROM golang:1.23-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/neural-brain ./cmd/brain
|
|
|
|
FROM alpine:3.21
|
|
RUN addgroup -S brain && adduser -S -G brain brain
|
|
WORKDIR /app
|
|
COPY --from=build /out/neural-brain /usr/local/bin/neural-brain
|
|
RUN mkdir -p /app/data /sources/knowledge /sources/staging /sources/agent-data && chown -R brain:brain /app /sources
|
|
USER brain
|
|
EXPOSE 8090
|
|
ENTRYPOINT ["neural-brain"]
|