Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Installation

patinaDB ships as a Docker image containing three ready-to-run binaries:

BinaryWhat it is
patinadb-raftThe server — Raft-replicated node with REST + Bolt (the image’s entrypoint).
patinadbThe embedded CLI — query / import / export / backup / restore / algo / changes over a database directory.
patinadb-browserThe 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 21001POST /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