Deploy RushDB
Self-hosted RushDB 3: graph-native database for AI agents
RushDB
Just deployed
Deploy and Host RushDB on Railway
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
/dataholding the database files and the generatedconfig.yml - Generated secret
RUSHDB_TOKEN, a 64-character token required on every data request (Authorization: Bearerheader) - Auth:
/healthand/readyare open;/protocol/v1/executeand/metricsreject requests without the token (401) After deploy:
- Open the RushDB service, go to Variables and copy
RUSHDB_TOKEN. - Check the node:
curl https://YOUR-RAILWAY-DOMAIN/ready - 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"}}}}' - Point the JavaScript or Python SDK, the MCP server or LangChain integration at it in direct mode with
engineUrlset tohttps://YOUR-RAILWAY-DOMAINand 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 (Apache-2.0)
- Image:
rushdb/rushdb:3on Docker Hub - No external database and no API keys required; the token is generated for you
Deployment Dependencies
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=0lets 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. KeepRUSHDB_LISTENat0.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.
Template Content
RushDB
rushdb/rushdb:3
