Skip to content

Docker

HEBBS publishes official Docker images to GitHub Container Registry. Each image contains the statically-linked HEBBS server binary and the default embedding model.

Terminal window
docker run -d \
--name hebbs \
-p 50051:50051 \
-p 9090:9090 \
-v hebbs-data:/data \
ghcr.io/hebbs-ai/hebbs:latest

This starts HEBBS with:

  • gRPC server on port 50051
  • Prometheus metrics on port 9090
  • Data persisted in the hebbs-data Docker volume

For production-like setups, use docker-compose to manage HEBBS alongside monitoring:

version: "3.9"
services:
hebbs:
image: ghcr.io/hebbs-ai/hebbs:latest
ports:
- "50051:50051"
- "9090:9090"
volumes:
- hebbs-data:/data
- ./config.toml:/etc/hebbs/config.toml:ro
environment:
- HEBBS_CONFIG=/etc/hebbs/config.toml
- HEBBS_LOG_LEVEL=info
restart: unless-stopped
healthcheck:
test: ["CMD", "hebbs-cli", "status", "--address", "localhost:50051"]
interval: 30s
timeout: 5s
retries: 3
volumes:
hebbs-data:

Mount a custom configuration file:

Terminal window
docker run -d \
-v ./config.toml:/etc/hebbs/config.toml:ro \
-e HEBBS_CONFIG=/etc/hebbs/config.toml \
ghcr.io/hebbs-ai/hebbs:latest

Environment variables override config file values. Common overrides:

VariableDescriptionDefault
HEBBS_CONFIGPath to config file/etc/hebbs/config.toml
HEBBS_LOG_LEVELLog level (trace, debug, info, warn, error)info
HEBBS_DATA_DIRData directory/data
HEBBS_GRPC_PORTgRPC listen port50051
HEBBS_METRICS_PORTPrometheus metrics port9090

HEBBS stores all data (RocksDB, HNSW index, WAL) in a single directory. Always mount a volume or bind mount to /data to survive container restarts.

Terminal window
# Named volume (recommended)
-v hebbs-data:/data
# Bind mount to host directory
-v /var/lib/hebbs:/data

Other containers on the same bridge network can reach HEBBS at hebbs:50051:

services:
my-agent:
environment:
- HEBBS_ADDRESS=hebbs:50051
depends_on:
- hebbs

For maximum network performance, use host networking:

Terminal window
docker run -d --network host ghcr.io/hebbs-ai/hebbs:latest
TagDescription
latestLatest stable release
0.1.0Specific version
0.1Latest patch for minor version
edgeLatest commit on main (unstable)
WorkloadCPUMemoryDisk
Development1 core512 MB1 GB
Small (< 100K memories)2 cores2 GB10 GB
Medium (< 1M memories)4 cores8 GB50 GB
Large (< 10M memories)8 cores32 GB200 GB