rocketride-server Documentation

High-performance AI pipeline engine with a C++ core and 50+ Python-extensible nodes. Build, debug, and scale LLM workflows with 13+ model providers, 8+...

5,714 stars Python Python 1 file ยท ~2,840 tokens #ai#cpp#data-pipeline#data-processing#machine-learning#mcp#python#sdk
RAW Doc

Docker & Self-Hosted Deployment Verified OCI

Deploy rocketride-server on any server, homelab, or cloud container platform.

1-Click Terminal Command
bash (docker run)
docker run -d --name rocketride-server -p 5565:5565 --restart always rocketride/engine-base:local
Configured Services & Ports
โš™๏ธ engine-base
image: rocketride/engine-base:local
โš™๏ธ engine
image: build locally
๐Ÿ”Œ Ports: ${ENGINE_PORT:-5565}:5565
โš™๏ธ postgres
image: pgvector/pgvector:0.8.0-pg16
๐Ÿ”Œ Ports: ${POSTGRES_PORT:-5432}:5432
โš™๏ธ etcd
image: quay.io/coreos/etcd:v3.5.16
โš™๏ธ minio
image: minio/minio:RELEASE.2024-12-18T13-15-44Z
๐Ÿ”Œ Ports: ${MINIO_API_PORT:-9000}:9000, ${MINIO_CONSOLE_PORT:-9001}:9001
โš™๏ธ milvus
image: milvusdb/milvus:v2.4.17
๐Ÿ”Œ Ports: ${MILVUS_PORT:-19530}:19530, ${MILVUS_GRPC_PORT:-9091}:9091
โš™๏ธ chroma
image: chromadb/chroma:0.6.3
๐Ÿ”Œ Ports: ${CHROMA_PORT:-8000}:8000
docker-compose.yml
yaml (docker-compose.yml)
# ---------------------------------------------------------------------------
# docker-compose.yml โ€” RocketRide local development stack
#
# MIT License
# Copyright (c) 2026 RocketRide
#
# Usage:
#   docker compose up              # start all services
#   docker compose up engine       # start engine only
#   docker compose down -v         # stop and remove volumes
# ---------------------------------------------------------------------------

services:
  # โ”€โ”€ RocketRide Engine โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
  engine-base:
    image: rocketride/engine-base:local
    build:
      context: ..
      dockerfile: docker/Dockerfile.engine-base
    profiles: [build]

  engine:
    build:
      context: ..
      dockerfile: docker/Dockerfile.engine
      args:
        ENGINE_BASE: engine-base
      additional_contexts:
        engine-base: service:engine-base
    ports:
      - '${ENGINE_PORT:-5565}:5565'
    environment:
      - ROCKETRIDE_LOG_LEVEL=${ROCKETRIDE_LOG_LEVEL:-info}
      - POSTGRES_URL=postgresql://${POSTGRES_USER:-rocketride}:${POSTGRES_PASSWORD:-changeme}@postgres:5432/${POSTGRES_DB:-rocketride}
      - MILVUS_HOST=milvus
      - MILVUS_PORT=19530
      - CHROMA_HOST=chroma
      - CHROMA_PORT=8000
    depends_on:
      postgres:
        condition: service_healthy
      milvus:
        # service_started: Milvus is optional โ€” engine must handle connection retries.
        # Use service_healthy if your deployment always requires Milvus.
        condition: service_started
      chroma:
        # service_started: Chroma is optional โ€” engine must handle connection retries.
        # Use service_healthy if your deployment always requires ChromaDB.
        condition: service_started
    healthcheck:
      test: ['CMD', 'curl', '-f', 'http://localhost:5565/ping']
      interval: 30s
      timeout: 5s
      start_period: 10s
      retries: 3
    deploy:
      resources:
        limits:
          cpus: '${ENGINE_CPU_LIMIT:-4}'
          memory: '${ENGINE_MEMORY_LIMIT:-4G}'
        reservations:
          cpus: '1'
          memory: 1G
    restart: unless-stopped
    networks:
      - rocketride-net

  # โ”€โ”€ PostgreSQL + pgvector โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
  postgres:
    image: pgvector/pgvector:0.8.0-pg16
    environment:
      POSTGRES_USER: ${POSTGRES_USER:-rocketride}
      POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-changeme}
      POSTGRES_DB: ${POSTGRES_DB:-rocketride}
    ports:
      - '${POSTGRES_PORT:-5432}:5432'
    volumes:
      - pgdata:/var/lib/postgresql/data
    healthcheck:
      test: ['CMD-SHELL', 'pg_isready -U ${POSTGRES_USER:-rocketride}']
      interval: 10s
      timeout: 5s
      start_period: 15s
      retries: 5
    restart: unless-stopped
    networks:
      - rocketride-net

  # โ”€โ”€ etcd (Milvus metadata store) โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
  etcd:
    image: quay.io/coreos/etcd:v3.5.16
    environment:
      ETCD_AUTO_COMPACTION_MODE: revision
      ETCD_AUTO_COMPACTION_RETENTION: '1000'
      ETCD_QUOTA_BACKEND_BYTES: '4294967296' # 4 GiB
      ETCD_SNAPSHOT_COUNT: '50000'
    command:
      - etcd
      - --advertise-client-urls=http://etcd:2379
      - --listen-client-urls=http://0.0.0.0:2379
      - --data-dir=/etcd
    volumes:
      - etcddata:/etcd
    healthcheck:
      test: ['CMD', 'etcdctl', 'endpoint', 'health']
      interval: 15s
      timeout: 5s
      start_period: 10s
      retries: 5
    restart: unless-stopped
    networks:
      - rocketride-net

  # โ”€โ”€ MinIO (Milvus object storage) โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
  minio:
    image: minio/minio:RELEASE.2024-12-18T13-15-44Z
    environment:
      MINIO_ROOT_USER: ${MINIO_ROOT_USER:-minioadmin}
      MINIO_ROOT_PASSWORD: ${MINIO_ROOT_PASSWORD:-changeme}
    command: minio server /data --console-address ":9001"
    ports:
      - '${MINIO_API_PORT:-9000}:9000'
      - '${MINIO_CONSOLE_PORT:-9001}:9001'
    volumes:
      - miniodata:/data
    healthcheck:
      test: ['CMD', 'curl', '-f', 'http://localhost:9000/minio/health/live']
      interval: 15s
      timeout: 5s
      start_period: 10s
      retries: 5
    restart: unless-stopped
    networks:
      - rocketride-net

  # โ”€โ”€ Milvus (vector database) โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
  milvus:
    image: milvusdb/milvus:v2.4.17
    environment:
      ETCD_ENDPOINTS: etcd:2379
      MINIO_ADDRESS: minio:9000
      MINIO_ACCESS_KEY_ID: ${MINIO_ROOT_USER:-minioadmin}
      MINIO_SECRET_ACCESS_KEY: ${MINIO_ROOT_PASSWORD:-changeme}
    command: ['milvus', 'run', 'standalone']
    ports:
      - '${MILVUS_PORT:-19530}:19530'
      - '${MILVUS_GRPC_PORT:-9091}:9091'
    volumes:
      - milvusdata:/var/lib/milvus
    depends_on:
      etcd:
        condition: service_healthy
      minio:
        condition: service_healthy
    healthcheck:
      test: ['CMD', 'curl', '-f', 'http://localhost:9091/healthz']
      interval: 20s
      timeout: 5s
      start_period: 30s
      retries: 5
    restart: unless-stopped
    networks:
      - rocketride-net

  # โ”€โ”€ ChromaDB (vector database) โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
  chroma:
    image: chromadb/chroma:0.6.3
    environment:
      IS_PERSISTENT: 'TRUE'
      ANONYMIZED_TELEMETRY: 'FALSE'
    ports:
      - '${CHROMA_PORT:-8000}:8000'
    volumes:
      - chromadata:/chroma/chroma
    healthcheck:
      test: ['CMD', 'curl', '-f', 'http://localhost:8000/api/v2/heartbeat']
      interval: 15s
      timeout: 5s
      start_period: 10s
      retries: 5
    restart: unless-stopped
    networks:
      - rocketride-net

volumes:
  pgdata:
    driver: local
  etcddata:
    driver: local
  miniodata:
    driver: local
  milvusdata:
    driver: local
  chromadata:
    driver: local

networks:
  rocketride-net:
    driver: bridge

File: README.md

RocketRide Cloud  `NOW LIVE`

A fraction of the costOur patent-pending model server runs your AI workloads far more efficiently, so you pay a fraction of what standard hosting costs. Collaborate as a teamWork together on shared pipelines. Your whole team builds, runs, and iterates in one place.
No-hassle infraWe handle everything: servers, scaling, upgrades, uptime. Nothing to provision, nothing to operate. Higher performance, built-in scaleMore throughput on the multithreaded C++ engine, with automatic scalability built in.

Connecting takes two lines. Same portable pipeline JSON, now hosted for you:

bash
ROCKETRIDE_URI=https://api.rocketride.ai
ROCKETRIDE_AUTH=your-api-token

On-Prem  `FREE & MIT`

Full control and data residencyYour data and model calls never leave your infrastructure. Run it behind your firewall, or fully air-gapped. Open source, MITThe whole engine is MIT-licensed and OSI-compliant. No enterprise edition, nothing behind a paywall.
Runs anywhereDocker, on-premises, bare metal, or local. Scale out to a cluster with the Helm chart when you need to. The same C++ engineIdentical multithreaded runtime and execution semantics as Cloud. Move a pipeline between them anytime.

Point a client at your local engine in one line:

bash
ROCKETRIDE_URI=ws://localhost:5565

Features

Feature Description
Visual Pipeline Builder Drag, connect, and configure nodes in VS Code, no boilerplate. Real-time observability tracks token usage, LLM calls, latency, and execution. Pipelines are portable JSON, version-controllable, shareable, and runnable anywhere.
High-Performance C++ Runtime Native multithreading purpose-built for the throughput demands of AI and data workloads. No bottlenecks, no compromises for production scale.
100+ Pipeline Nodes 15+ LLM providers, 9 vector databases, OCR, NER, PII anonymization, chunking strategies, embedding models, and more. All nodes are Python-extensible, build and publish your own.
Multi-Agent Workflows Built-in CrewAI and LangChain support. Chain agents, share memory across pipeline runs, and manage multi-step reasoning at scale.
Coding Agent Ready RocketRide auto-detects your coding agent: Claude, Cursor, and more. Build, modify, and deploy pipelines through natural language.
TypeScript, Python & MCP SDKs Integrate pipelines into native apps, expose them as callable tools for AI assistants, or build programmatic workflows into your existing codebase.
Zero Dependency Headaches Python environments, C++ toolchains, Java/Tika, and all node dependencies managed automatically. Clone, build, run, no manual setup.
One-Click Deploy Run on Docker, on-prem, or RocketRide Cloud. Production-ready architecture from day one, not retrofitted from a demo.

Quick Start

  1. Install the extension for your IDE. Search for RocketRide in the extension marketplace:

    Not seeing your IDE? Open an issue ยท Download directly

  2. Click the RocketRide extension in your IDE

  3. Deploy a server - you'll be prompted on how you want to run the server. Choose the option that fits your setup:

    • Local (Recommended) - This pulls the server directly into your IDE without any additional setup.
    • On-Premises - Run the server on your own hardware for full control and data residency. Pull the image and deploy to Docker or clone this repo and build from source.

Building Your First Pipe

  1. All pipelines are recognized with the *.pipe format. Each pipeline and its configuration are JSON objects - but the extension in your IDE will render within our visual builder canvas.

  2. All pipelines begin with a source node: webhook, chat, or dropper. For specific usage, examples, and inspiration on how to build pipelines, check out our guides and documentation.

  3. Connect input lanes and output lanes by type to properly wire your pipeline. Some nodes like agents or LLMs can be invoked as tools for use by a parent node as shown below:

  4. You can run a pipeline from the canvas by pressing the โ–ถ button on the source node or from the Connection Manager directly.

  5. Deploy your pipelines - pick the path that fits:

    • Docker - Download the RocketRide server image and create a container. Requires Docker to be installed.

      bash
      docker pull ghcr.io/rocketride-org/rocketride-engine:latest
      docker create --name rocketride-engine -p 5565:5565 ghcr.io/rocketride-org/rocketride-engine:latest
    • Local Deployment - Download your preferred runtime as a standalone process from the Deploy page in the Connection Manager.

    • RocketRide Cloud - Skip the setup and ship straight to managed hosting. Same portable pipeline JSON, zero infrastructure to run, from prototype to production. Get started

  6. Run your pipelines as standalone processes or integrate them into your existing Python and TypeScript/JS applications utilizing our SDK.

Observability

Selecting running pipelines allows for in-depth analytics. Trace call trees, token usage, memory consumption, and more to optimize your pipelines before scaling and deploying. Find the models, agents, and tools best fit for your task.

Contributors

RocketRide is built by a growing community of contributors. Whether you've fixed a bug, added a node, improved docs, or helped someone on Discord, thank you. New contributions are always welcome - check out our contributing guide to get started.



File: docs/README.md

Development Environment Setup

This guide walks you through setting up a local development environment for the RocketRide Engine.

Prerequisites

Tool Version Notes
Node.js 18+ Runtime for the build system and TypeScript clients
pnpm 8+ Package manager (npm install pnpm)
Python 3.10+ Required for pipeline nodes, AI modules, and the Python SDK
C++ toolchain C++17-capable Required only when building the engine from source (see below)
Git 2.x Source control

C++ toolchain details (engine builds only)

  • macOS -- Xcode Command Line Tools (xcode-select --install)
  • Linux -- GCC 10+ or Clang 13+ (sudo apt install build-essential cmake)
  • Windows -- Visual Studio 2019+ with the "Desktop development with C++" workload

Most contributors do not need the C++ toolchain. The builder downloads a pre-built engine binary by default.

Clone and Install

bash
git clone https://github.com/rocketride-org/rocketride-server.git
cd rocketride-server
pnpm install

Environment Configuration

If the repository contains a .env.template or .env.example file, copy it:

bash
cp .env.template .env   # or .env.example

Edit .env and fill in the values relevant to your setup (API keys, model endpoints, etc.). If no template exists, you can skip this step -- most functionality works with defaults.

Building

The project uses a unified build system. See README-builder.md for full details.

bash
# Show all available commands
./builder --help

# Full project build (downloads pre-built engine + all modules)
./builder build

# Build only the C++ engine
./builder server:build

# Build specific modules
./builder nodes:build
./builder vscode:build
./builder client-typescript:build client-python:build

Build output

Directory Contents
build/ Temporary build artifacts
dist/ Final distributable outputs
dist/server/ Engine executable and runtime
dist/clients/ Client library packages
dist/vscode/ VS Code extension (.vsix)

Running

Start the server

After building, the engine executable is located in dist/server/. Run it directly:

bash
./dist/server/engine ai/eaas.py

Connect the VS Code extension

  1. Build the extension: ./builder vscode:build
  2. Install the generated .vsix from dist/vscode/ in VS Code
  3. Click the RocketRide icon in the sidebar and connect to your running server

For VS Code extension development details, see README-vscode.md.

Testing

bash
# Run all tests
./builder test

# C++ engine tests only
./builder server:test

# Python tests only (nodes, AI, clients)
./builder nodes:test
./builder ai:test
./builder client-python:test

# TypeScript tests only
./builder client-typescript:test

# Other module tests
./builder client-mcp:test

For information on writing and running node-level tests, see README-node-testing.md.

Further Reading