Sign inSign up

namidb/namidb-server

By namidb

Updated 2 days ago

Graph database on your S3 bucket — Cypher, vector + full-text search. Official server image.

Image
0

7.4K

namidb/namidb-server repository overview

NamiDB Server

The official image for NamiDB — a graph database that lives in your S3 bucket, with Cypher, vector search, and full-text search in one engine.

Website · Documentation · GitHub

Supported tags

  • 2.0.0, 2.0, 2, latest

Multi-arch: linux/amd64, linux/arm64. Built with --features vector-index,text-index, so CREATE VECTOR INDEX / CREATE FULLTEXT INDEX and index-backed KNN/BM25 work out of the box — the same configuration as the prebuilt release binaries.

Quick start

Ephemeral, in-memory (nothing else needed):

docker run --rm -p 8080:8080 namidb/namidb-server:2 --store "memory://demo"
curl -s localhost:8080/v0/cypher \
  -H 'content-type: application/json' \
  -d '{"query":"RETURN 1 + 41 AS n"}'
# {"columns":["n"],"rows":[{"n":42}]}

Against your S3 bucket:

docker run --rm -p 8080:8080 \
  -e AWS_ACCESS_KEY_ID -e AWS_SECRET_ACCESS_KEY \
  -e NAMIDB_AUTH_TOKEN \
  namidb/namidb-server:2 --store "s3://my-bucket?ns=prod&region=us-west-2"

The --store URI also accepts gs://, az://, file:// and memory://. For a full self-hosted stack (server + MinIO as the bucket) see docker-compose.yml in the repository:

export NAMIDB_AUTH_TOKEN=$(openssl rand -hex 32)
docker compose up -d

Bolt protocol (Neo4j drivers)

Add --bolt-listen 0.0.0.0:7687 (and -p 7687:7687) and point any Neo4j driver or cypher-shell at bolt://localhost:7687. HTTP and Bolt share one writer per namespace.

Configuration

Every flag is also an environment variable:

Env varFlagWhat it does
NAMIDB_STORE--storeStorage URI. Required.
NAMIDB_LISTEN--listenHTTP bind. Default 0.0.0.0:8080.
NAMIDB_BOLT_LISTEN--bolt-listenEnable the Bolt listener (e.g. 0.0.0.0:7687).
NAMIDB_AUTH_TOKEN--auth-tokenStatic bearer token (read-write).
NAMIDB_FLUSH_INTERVAL--flush-intervalPeriodic flush loop, e.g. 30s.

⚠️ Without NAMIDB_AUTH_TOKEN the server boots unauthenticated and prints a loud warning — don't expose that port to the public internet. Per-token roles, OIDC/JWT and external policy (OPA) are documented in the server README.

The image runs as a non-root user (uid 65532) and ships a HEALTHCHECK against /v0/livez; use /v0/health for readiness.

License

Business Source License 1.1 — free for development, testing and internal production use; converts to Apache 2.0 after three years.

Tag summary

Content type

Image

Digest

sha256:a79b86e9f

Size

43.5 MB

Last updated

2 days ago

docker pull namidb/namidb-server