Logo
Deploy Now

Stars

6,079

Forks

231

Watchers

17

Developer links

Rivet

Stateful serverless actors that run indefinitely, sleep when idle, and persist state across restarts without external database round trips. Rivet provides a vendor-neutral alternative to Cloudflare Durable Objects, delivering long-running processes with co-located in-memory state and per-actor SQLite databases on any infrastructure you choose. The Rust engine comprises four packages: Pegboard for actor orchestration, Gasoline for durable execution, Guard for traffic routing via Envoy, and Epoxy implementing multi-region KV storage through EPaxos consensus. Each actor maintains instant-access in-memory state plus a dedicated SQLite database for relational queries, backed by RocksDB on single nodes or PostgreSQL with NATS pub/sub for multi-node clusters. RivetKit SDKs in TypeScript, Rust, and Python support built-in WebSocket connections, task queues, scheduling, and CRDT-based real-time collaboration. The v2.3 rewrite moved the core runtime from JavaScript to native Rust via WebAssembly, eliminating main-thread blocking across Node.js, Bun, Deno, and Cloudflare Workers. A built-in dashboard provides actor inspection with real-time Prometheus metrics. Deploys as a single Docker container on port 6420 with optional PostgreSQL for persistence. Available on RepoCloud with a dedicated VPS under the Apache 2.0 license.

Rivet
Rivet

Benefits

  • Stateful Serverless With Persistence
  • Actors maintain co-located in-memory state with per-actor SQLite databases that survive restarts, crashes, and deployments without external database round trips or cold start penalties.
  • Rust Engine Native Performance
  • Single Rust binary orchestrates actors via Pegboard with Gasoline durable execution, Guard traffic routing, and Epoxy EPaxos consensus for multi-region key-value storage.
  • Open Source Durable Objects Alternative
  • Apache 2.0 licensed actors deploy on any infrastructure including Docker, Kubernetes, AWS, Vercel, and Railway without Cloudflare vendor lock-in or platform constraints.
  • Built-In Real-Time Communication
  • Native WebSocket support per actor eliminates external pub/sub dependencies while enabling CRDT collaborative editing, shared cursors, and live dashboard updates with zero configuration.

Features

  • Long-Running Stateful Actors
  • Each actor maintains persistent in-memory state, runs indefinitely when active, hibernates when idle, and scales to zero with automatic restart on failure.
  • Per-Actor SQLite Database
  • Every actor includes a dedicated SQLite instance backed by Rust-native engine for relational queries, transactions, and structured persistence without external databases.
  • Multi-Runtime SDK Support
  • RivetKit TypeScript runs on Node.js, Bun, Deno, and Cloudflare Workers via WebAssembly with experimental Rust and Python SDKs for polyglot deployments.
  • Single Docker Container Deploy
  • Rivet Engine ships as rivetdev/engine image exposing port 6420 with RocksDB for single-node or PostgreSQL plus NATS for multi-node production clusters.
  • Actor Debugging Dashboard
  • Built-in inspector UI provides real-time visibility into actor state, lifecycle events, connections, and Prometheus-format metrics for operational monitoring.