RushDB
Give your agent a memory.
Push any JSON. Get graph relationships and vector search instantly — no schema, no pipeline, no setup.
Start building free →FAQ
RushDB
Push any JSON. Get graph relationships and vector search instantly — no schema, no pipeline, no setup.
Start building free →FAQ
Embeddings rank similarity but ignore joins, cardinality, and constraints. Learn how RushDB combines semantic retrieval with explicit graph relationships and live schema discovery.
LLM applications naturally fragment into ETL, embedding, graph sync, search indexing, and metadata pipelines. Learn why this happens and how a single ingestion layer can replace.
RushDB is an instant database that lets you work with any data structure without creating a schema first. You can push any data, and RushDB will automatically connect records, detect data types, and provide high-performance search. You can also create or manage relationships manually for more control.
RushDB helps you focus on your application logic without worrying about a complex schema or table design.
This article explains how to get started with RushDB. We will show two main ways to connect:
If you want to explore the Cloud option, follow a few steps in the official docs. This guide will focus on the Self-Hosted setup.
To run RushDB in Self-Hosted mode, we recommend using Docker. Docker helps you avoid manual installations or OS-related issues.
docker --version in your terminal to confirm Docker is working.$ docker --version Docker version 27.3.1, build ce12230
RushDB stores data in Neo4j. One simple option is Neo4j Aura, the cloud version of Neo4j. It has a free tier for small use.
Register an account on Neo4j Aura
Go to Neo4j Aura and create a free instance.
For more details, see Neo4j Aura docs or this Medium article.
Get your Neo4j credentials
After creating your Aura instance, note the username, and password.

After you download the credentials, the instance will be mounted, and you can copy instance URI or find it in the downloaded credentials from previous step:

Run RushDB in Docker
Replace the sample values with your credentials:
docker run -p 3000:3000 \ --name rushdb \ -e NEO4J_URL='neo4j+s://1234567.databases.neo4j.io' \ -e NEO4J_USERNAME='neo4j' \ -e NEO4J_PASSWORD='password' \ rushdb/platform
NEO4J_URL, NEO4J_USERNAME, and NEO4J_PASSWORD must match your Aura instance settings.
After installation, if you're using Docker Desktop, you can see installed container here:

You also can run some RushDB CLI commands inside docker container.
Learn more in the docs
Access RushDB
from rushdb import RushDB
db = RushDB(
"RUSHDB_API_TOKEN",
base_url="http://localhost:3000"
)
db.records.create_many(
"COMPANY",
{
"name": "Google LLC",
"address": "1600 Amphitheatre Parkway, Mountain View, CA 94043, USA",
"foundedAt": "1998-09-04T00:00:00.000Z",
"rating": 4.9,
"DEPARTMENT": [
{
"name": "Research & Development",
"description": "Innovating advanced technologies for AI and cloud computing.",
"PROJECT": [
{
"name": "Bard AI",
"description": "A cutting-edge model for language understanding.",
"active": True,
"budget": 1200000000,
"EMPLOYEE": [
{
"name": "Jeff Dean",
"position": "Head of AI Research",
"email": "jeff@google.com",
"salary": 3000000
}
]
}
]
}
]
}
)
If you do not want to use Neo4j Aura, you can launch Neo4j locally:
docker network create rushdb-service
docker run -d --name neo4j \ --network rushdb-service \ -p 7474:7474 \ -p 7687:7687 \ -e NEO4J_ACCEPT_LICENSE_AGREEMENT=yes \ -e NEO4J_AUTH=neo4j/password \ -e NEO4J_PLUGINS='["apoc"]' \ --health-cmd="wget --no-verbose --tries=1 --spider localhost:7474 || exit 1" \ --health-interval=5s \ --health-retries=30 \ --health-start-period=10s \ neo4j:5.25.1
docker run -d --name rushdb \ --network rushdb-service \ -p 3000:3000 \ -e NEO4J_URL=bolt://neo4j \ -e NEO4J_USERNAME=neo4j \ -e NEO4J_PASSWORD=password \ rushdb/platform
version: '3.8'
services:
rushdb:
image: rushdb/platform
container_name: rushdb
depends_on:
neo4j:
condition: service_healthy
ports:
- "3000:3000"
environment:
- NEO4J_URL=bolt://neo4j
- NEO4J_USERNAME=neo4j
- NEO4J_PASSWORD=password
neo4j:
image: neo4j:5.25.1
healthcheck:
test: [ "CMD-SHELL", "wget --no-verbose --tries=1 --spider localhost:7474 || exit 1" ]
interval: 5s
retries: 30
start_period: 10s
ports:
- "7474:7474"
- "7687:7687"
environment:
- NEO4J_ACCEPT_LICENSE_AGREEMENT=yes
- NEO4J_AUTH=neo4j/password
- NEO4J_PLUGINS=["apoc"]
docker-compose up -d
Learn more how to set up Docker Compose
In this article, we learned how to run RushDB Self-Hosted in two ways:
Self-hosting is useful for full-scale projects and production scenarios. You have more flexibility and can customize your environment. For smaller or hobby projects, you can try RushDB Cloud, which is the fastest way to start with RushDB without managing Neo4j yourself.