---
title: "Deploy RushDB"
description: "Self-hosted RushDB 3: graph-native database for AI agents"
category: "AI/ML"
url: https://railway.com/deploy/rushdb
---

# Deploy RushDB

Self-hosted RushDB 3: graph-native database for AI agents

**[Deploy RushDB on Railway](https://railway.com/template/rushdb)**

Machine-readable deploy manifest (JSON, validated by TemplateCI): https://railway.com/deploy/rushdb/manifest.json

- **Creator:** My Projects
- **Category:** AI/ML

## Template content

### RushDB https://raw.githubusercontent.com/rush-db/rushdb/main/rushdb-logo.svg

- **Image:** rushdb/rushdb:3
- **Health check:** /ready
- **Public domain:** Yes

## Documentation

# Deploy and Host RushDB on Railway
[RushDB](https://github.com/rush-db/rushdb) is a self-describing, graph-native database for AI agents. Write nested JSON and every object becomes a linked record; query it through its native HTTP protocol, SQL (also over the PostgreSQL wire protocol), Gremlin or Mongo-style filters. This template runs the self-hosted RushDB 3 engine, a single Rust binary with its own embedded storage.
## About Hosting RushDB
This template runs:
- **RushDB** service from the official image `rushdb/rushdb:3`, HTTP API on port 3000 behind Railway's HTTPS domain
- **Volume** at `/data` holding the database files and the generated `config.yml`
- **Generated secret** `RUSHDB_TOKEN`, a 64-character token required on every data request (`Authorization: Bearer` header)
- **Auth**: `/health` and `/ready` are open; `/protocol/v1/execute` and `/metrics` reject requests without the token (401)
**After deploy:**
1. Open the RushDB service, go to Variables and copy `RUSHDB_TOKEN`.
2. Check the node: `curl https://YOUR-RAILWAY-DOMAIN/ready`
3. Write data: `curl https://YOUR-RAILWAY-DOMAIN/protocol/v1/execute -H "Authorization: Bearer YOUR-TOKEN" -H "Content-Type: application/json" -d '{"protocolVersion":1,"operation":{"kind":"ingest","ingest":{"kind":"documents","label":"COMPANY","documents":{"name":"Acme"}}}}'`
4. Point the JavaScript or Python SDK, the MCP server or LangChain integration at it in direct mode with `engineUrl` set to `https://YOUR-RAILWAY-DOMAIN` and the token.
## Common Use Cases
- Long-term memory and knowledge graph for AI agents via the RushDB MCP server
- Storing nested JSON documents as a queryable graph without designing a schema first
- Querying the same records through SQL, Gremlin or Mongo-style filters
- A private graph backend for LangChain or LangGraph applications
## Dependencies for RushDB Hosting
- Source: [rush-db/rushdb](https://github.com/rush-db/rushdb) (Apache-2.0)
- Image: `rushdb/rushdb:3` on Docker Hub
- No external database and no API keys required; the token is generated for you
### Deployment Dependencies
- [RushDB manual](https://github.com/rush-db/rushdb/tree/main/docs/manual)
- [Configuration reference](https://github.com/rush-db/rushdb/blob/main/docs/manual/reference/configuration-reference.md)
- [Security guide](https://github.com/rush-db/rushdb/blob/main/docs/manual/operations/security.md)
- [docs.rushdb.com](https://docs.rushdb.com)
### Implementation Details
- Only the HTTP port is public. The PostgreSQL wire listener (port 5432) is reachable only from other services in the project over Railway's private network (user `rushdb`, password = the token); no TCP proxy is created.
- TLS is terminated by Railway, so the container listens on plain HTTP with `RUSHDB_ALLOW_INSECURE_LISTEN=true`.
- The image runs as a non-root user; `RAILWAY_RUN_UID=0` lets it write to the Railway volume.
- On first start RushDB writes `/data/config.yml`, which then becomes the source of truth for ports and resource limits. Change those settings by editing that file, not by adding new variables later. Keep `RUSHDB_LISTEN` at `0.0.0.0`.
- The healthcheck uses `/ready`, which also checks that the data directory is writable and has free space.
- This is the self-hosted engine: the dashboard, managed embeddings and natural-language search belong to RushDB Cloud and are not included.
## Why Deploy RushDB on Railway?
Railway is a singular platform to deploy your infrastructure stack. Railway will host your infrastructure so you don't have to deal with configuration, while allowing you to vertically and horizontally scale it.
By deploying RushDB on Railway, you are one step closer to supporting a complete full-stack application with minimal burden. Host your servers, databases, AI agents, and more on Railway.

## Similar templates

- [Chat Chat](https://railway.com/deploy/-WWW5r) — Chat Chat, your own unified chat and search to AI platform.
- [Weaviate](https://railway.com/deploy/weaviate-1) — Vector database with hybrid search and an API key-protected API
- [Möbius Personal AI OS](https://railway.com/deploy/mobius-v01-personal-ai-os) — Self-hosted AI agent that builds and runs apps for you, with memory.

Open this page in a browser: https://railway.com/deploy/rushdb
