Docker Installation
The fastest way to run CoordiNode — no build tools required.
Prerequisites
- Docker 24+
- Docker Compose v2
Get the Compose File
Clone the repository to get docker-compose.yml and the bundled examples:
git clone https://github.com/structured-world/coordinode.git
cd coordinodeThe pre-built image is published at ghcr.io/structured-world/coordinode. If you prefer to use it directly without cloning, create a minimal docker-compose.yml:
services:
coordinode:
image: ghcr.io/structured-world/coordinode:latest
container_name: coordinode
ports:
- "7080:7080"
- "7081:7081"
- "7084:7084"
volumes:
- coordinode-data:/data
environment:
- COORDINODE_LOG_FORMAT=json
restart: unless-stopped
volumes:
coordinode-data:
driver: localStart CoordiNode
docker compose up -dCoordiNode starts in under 5 seconds. Verify it is healthy:
curl http://localhost:7084/healthExpected response:
{"status":"ok"}Ports
| Port | Protocol | Purpose |
|---|---|---|
7080 | gRPC | Native API — high-throughput clients |
7081 | HTTP/REST | JSON API via structured-proxy (REST transcoding, separate container) |
7084 | HTTP | /health, /ready, Prometheus /metrics |
Data Persistence
By default, docker-compose.yml mounts a named volume coordinode-data for the data directory. Data survives container restarts.
To start fresh:
docker compose down -v # removes the volume
docker compose up -dEnvironment Variables
| Variable | Default | Description |
|---|---|---|
RUST_LOG | info | Log level: error, warn, info, debug, trace |
COORDINODE_DATA | /data | Data directory inside the container |
Set them in docker-compose.yml or via --env:
RUST_LOG=debug docker compose upRun Seed Data (Optional)
Try the bundled quickstart example:
./examples/quickstart/seed.shThis inserts a small knowledge graph (4 concept nodes + 4 document nodes with 384-dimensional embeddings) and verifies connectivity.
Next Step
Run a hybrid query combining graph traversal + vector similarity:
curl -s -X POST http://localhost:7081/v1/query/cypher \
-H "Content-Type: application/json" \
-d @examples/quickstart/hybrid-query.json | python3 -m json.toolSee Quick Start for the full walkthrough.
