Skip to content

Binary Installation

Run CoordiNode directly on your machine — no Docker required.

Download a Release Binary

Pre-built binaries for Linux and macOS are available on the GitHub Releases page.

bash
# Linux x86_64
curl -L https://github.com/structured-world/coordinode/releases/latest/download/coordinode-linux-x86_64.tar.gz \
  | tar -xz
sudo mv coordinode /usr/local/bin/

# macOS (Apple Silicon)
curl -L https://github.com/structured-world/coordinode/releases/latest/download/coordinode-macos-arm64.tar.gz \
  | tar -xz
sudo mv coordinode /usr/local/bin/

Verify:

bash
coordinode --version

Build from Source

Requirements: Rust 1.80+, protoc 3.21+

bash
git clone https://github.com/structured-world/coordinode.git
cd coordinode
cargo build --release -p coordinode-server

The binary is at target/release/coordinode.

Start the Server

bash
coordinode serve --data /var/lib/coordinode

Key flags:

FlagDefaultDescription
--addr[::]:7080gRPC listen address
--ops-addr[::]:7084Health + metrics endpoint
--data./dataData directory
--peers(none)Peer addresses for cluster mode

See Configuration for the full flag and environment reference, the packaged config file, and the open-file-descriptor limit.

The binary exposes gRPC only on port 7080. For REST/JSON, run structured-proxy in front of it (see docker-compose.yml for a reference setup).

Verify

bash
curl http://localhost:7084/health
# → {"status":"serving"}

Compact After a Bulk Import

After loading a large dataset, run an offline compaction to collapse the accumulated merge operands (adjacency lists, counters) into single values. This keeps traversal reads fast. The server must be stopped first.

bash
coordinode compact --data /var/lib/coordinode

systemd Service (Linux)

ini
[Unit]
Description=CoordiNode graph database
After=network.target

[Service]
ExecStart=/usr/local/bin/coordinode serve --data /var/lib/coordinode
Restart=on-failure
User=coordinode

[Install]
WantedBy=multi-user.target
bash
sudo systemctl daemon-reload
sudo systemctl enable --now coordinode

Next Step

See Quick Start to seed data and run your first hybrid query.