rocketride-server Docker & Self-Hosted Deployment

GitHub

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 Compose
1. Pull Image (DOCKERHUB) docker pull rocketride/engine-base
2. Docker Run (1-Click Launch) docker run -d --name rocketride-server -p 5565:5565 --restart always rocketride/engine-base:local
3. Podman Run podman run -d --name rocketride-server -p 5565:5565 --restart always rocketride/engine-base:local
4. Skopeo Inspect (Zero-Pull Manifest) skopeo inspect docker://docker.io/rocketride/engine-base:local
5. ORAS Pull (OCI Artifact) oras pull rocketride/engine-base:local
6. Compose Deployment docker compose up -d
docker/docker-compose.yml
Download .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