Summary
Create Dockerfile for uteke-serve with multi-stage build, pre-built binary from release, and embedding model baked in.
Acceptance Criteria
Design
Stage 1 (builder): debian:bookworm-slim
- curl release binary (uteke + uteke-serve)
- curl model files from HuggingFace (3 files ~188MB)
Stage 2 (runtime): debian:bookworm-slim
- COPY --from=builder binaries to /usr/local/bin/
- COPY --from=builder model to $UTEKE_HOME/models/
- ENV UTEKE_HOME=/data
- EXPOSE 8767
- ENTRYPOINT ["uteke-serve"]
Usage
docker build -t uteke:v0.0.5 .
# Run with volume
docker run -d -p 8767:8767 -v uteke-data:/data uteke:v0.0.5
# Verify
curl http://localhost:8767/health
curl -X POST http://localhost:8767/remember -d '{"content":"hello","tags":["test"]}'
curl -X POST http://localhost:8767/recall -d '{"query":"hello"}'
Depends On
Verification
docker build -t uteke:test . # build succeeds
docker run --rm -p 8767:8767 uteke:test # binds 0.0.0.0:8767
curl localhost:8767/health # {"status":"ok"}
docker run --rm uteke:test du -sh /data/models # model exists
Summary
Create Dockerfile for
uteke-servewith multi-stage build, pre-built binary from release, and embedding model baked in.Acceptance Criteria
ENV UTEKE_HOME=/datafor configurable data directoryEXPOSE 8767withCMD uteke-serve(uses defaults from feat: uteke-serve reads uteke.toml config, default host 0.0.0.0 #96).dockerignoreexcludes.git,target/,node_modules/,website/Design
Usage
Depends On
Verification