Installation
patinaDB ships as a Docker image containing three ready-to-run binaries:
| Binary | What it is |
|---|---|
patinadb-raft | The server — Raft-replicated node with REST + Bolt (the image’s entrypoint). |
patinadb | The embedded CLI — query / import / export / backup / restore / algo / changes over a database directory. |
patinadb-browser | The offline graph browser + admin dashboard. |
You do not need Rust, a compiler, or any build tooling — pull the image (or
install the standalone binary your vendor provided) and run it. The image is
published for both linux/amd64 and linux/arm64 — the same tag resolves to
the right architecture on either platform.
Run the server
docker run -p 7687:7687 -p 21001:21001 \
-v patinadb-data:/data \
-e PATINADB_AUTH_PASSWORD=change-me \
patinadb/patinadb
This starts a single self-leading node (a “cluster” of one — no peers needed) and exposes:
- REST on port
21001—POST /cypher - Bolt on port
7687— for Neo4j drivers and the Neo4j Browser
/data is where the graph, engram history, and node state live — mount a
named volume or bind mount so data survives a container restart.
By default the server refuses to start with no password set, so you don’t accidentally run an open database — see Authentication & TLS for how to configure it properly. For a disposable local try-out only (never expose this):
docker run -p 7687:7687 -p 21001:21001 patinadb/patinadb --insecure-disable-auth
Query it once it’s up:
curl -s -u neo4j:change-me -X POST localhost:21001/cypher \
-H 'content-type: application/json' \
-d '{"query": "CREATE (n:Person {name: \"Ada\"}) RETURN n"}'
See Quick Start for a walkthrough, and
Configuration Reference for every server flag
(--id, --addr, --db, --bootstrap, --bolt-addr, and the rest).
Run the embedded CLI
The same image also carries patinadb, the CLI for working with an embedded
database directory — no server required:
docker run -v "$PWD/mygraph:/data" --entrypoint patinadb patinadb/patinadb \
/data query "CREATE (a:Person {name: 'Ada'}) RETURN a"
If the binary is installed directly on the host (extracted from the image, or provided by your vendor as a standalone executable), run it the same way without Docker:
patinadb ./mygraph query "MATCH (n:Person) RETURN n"
See Command-Line Interface for every subcommand.
Run the graph browser
docker run -v "$PWD/mygraph:/data" -p 4200:4200 --entrypoint patinadb-browser \
patinadb/patinadb /data
Then open http://localhost:4200. See
Graph Browser & Admin UI for file / server / Bolt modes.
Python bindings
Install the patinadb Python wheel your vendor provided (or from your
organization’s package index):
pip install patinadb-<version>-<platform>.whl
from patinadb import Database
db = Database.open("./mygraph")
db.query("CREATE (n:Person {name: 'Ada', age: 36})")
rows = db.query_rows("MATCH (n:Person) RETURN n.name AS name, n.age AS age")
See Language Bindings for the full Python, MCP, and browser surface.
Next steps
- Quick Start — a five-minute walkthrough of both the CLI and the server.
- High Availability — add peers for automatic failover.
- Authentication & TLS — lock the server down before exposing it.
- Editions & Limits — what Community mode includes, and how to apply a license.