Spaces:
Build error
Build error
| # Go Build Stage | |
| FROM golang:1.24-alpine AS go-builder | |
| WORKDIR /app | |
| RUN apk add --no-cache git ca-certificates | |
| COPY go.mod go.sum ./ | |
| COPY go.work go.work.sum ./ | |
| COPY . . | |
| RUN go mod download | |
| RUN CGO_ENABLED=0 GOOS=linux go build -ldflags="-w -s" -o /agent-server ./cmd/agent-server | |
| # Rust Build Stage | |
| FROM rust:1.83-alpine AS rust-builder | |
| WORKDIR /app | |
| RUN apk add --no-cache musl-dev | |
| COPY rust-memory-service/Cargo.toml rust-memory-service/Cargo.lock ./ | |
| # Dummy build to cache deps | |
| RUN mkdir src && echo "fn main() {}" > src/main.rs | |
| RUN mkdir benches && echo "fn main() {}" > benches/memory_ops.rs | |
| RUN cargo build --release | |
| RUN rm -rf src | |
| COPY rust-memory-service/ . | |
| RUN cargo build --release | |
| RUN cp target/release/memory-server /memory-server | |
| # Runtime Stage | |
| FROM alpine:3.19 | |
| RUN apk add --no-cache ca-certificates tzdata | |
| RUN adduser -D -g '' appuser | |
| WORKDIR /app | |
| # Copy binaries | |
| COPY --from=go-builder /agent-server . | |
| COPY --from=rust-builder /memory-server . | |
| # Copy scripts and configs | |
| COPY deployments/huggingface/start.sh . | |
| COPY config.example.yaml ./config.yaml | |
| COPY rust-memory-service/.env.example .env | |
| RUN chmod +x start.sh && chown -R appuser:appuser /app | |
| USER appuser | |
| EXPOSE 7860 | |
| # Environment variables | |
| ENV PORT=7860 | |
| ENV MEMORY_BIND_ADDR=127.0.0.1:9091 | |
| # Configure Go agent to use local memory service (needs env var mapping in config/env) | |
| ENV MEMORY_SERVICE_HOST=127.0.0.1 | |
| ENV MEMORY_SERVICE_PORT=9091 | |
| CMD ["./start.sh"] | |