headroom/docker-compose.yml
JerrettDavis a1beb08d53 feat: add reproducible devcontainers
Add a default devcontainer and a compose-backed memory-stack profile, validate them in CI, and document the contributor workflow.

Also lock the memory-stack dependencies, pin related container tooling, and sync the latest healthcheck shutdown fix for stubbed memory handlers.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-04-10 12:58:35 -05:00

50 lines
1.3 KiB
YAML

services:
headroom-proxy:
build: .
command: ["--host", "0.0.0.0"]
environment:
- HEADROOM_HOST=0.0.0.0
# if you want to use a custom OpenAI-compatible API endpoint,
# uncomment and set the following line with the desired URL
# - OPENAI_TARGET_API_URL=https://api.x.ai
ports:
- "8787:8787"
healthcheck:
test: ["CMD", "curl", "--fail", "--silent", "http://127.0.0.1:8787/readyz"]
interval: 30s
timeout: 5s
retries: 3
start_period: 20s
depends_on:
- qdrant
- neo4j
# Vector database for semantic search
qdrant:
image: qdrant/qdrant:v1.17.1
ports:
- "6333:6333" # REST API
- "6334:6334" # gRPC
volumes:
- qdrant_data:/qdrant/storage
environment:
- QDRANT__SERVICE__GRPC_PORT=6334
# Graph database for relationships and multi-hop reasoning
neo4j:
image: neo4j:5.15.0
ports:
- "7474:7474" # HTTP (Browser)
- "7687:7687" # Bolt
volumes:
- neo4j_data:/data
environment:
- NEO4J_AUTH=neo4j/password
- NEO4J_PLUGINS=["apoc"]
- NEO4J_apoc_export_file_enabled=true
- NEO4J_apoc_import_file_enabled=true
- NEO4J_apoc_import_file_use__neo4j__config=true
volumes:
qdrant_data:
neo4j_data: