# Go service: HTTP/2 REST+SSE+WS + RAG proxy via FAISS socket.
FROM golang:1.27-alpine AS gobuild
WORKDIR /app
COPY go.mod go.sum ./
RUN go mod download
COPY cmd/ cmd/
COPY internal/ internal/
COPY ragdata/ ragdata/
RUN CGO_ENABLED=0 go build -ldflags="-s -w -buildid=" -trimpath -o /app/server ./cmd/server

FROM alpine:3.20
RUN apk add --no-cache ca-certificates
WORKDIR /app
COPY --from=gobuild /app/server /app/server
COPY ragdata/ ragdata/
EXPOSE 8080
CMD ["/app/server"]
