Self-hosting Rivet Engine the easy way

Self-hosting Rivet Engine the easy way

Yulei Chen - Content-Engineerin bei sliplane.ioYulei Chen
4 min

Rivet Engine is an open-source platform for building and scaling stateful workloads using actors. Actors are long-running, lightweight processes with in-memory state and automatic persistence - perfect for AI agents, collaborative apps, game backends, and durable execution. Instead of paying for managed solutions, you can self-host Rivet Engine and keep full control over your infrastructure and data.

Sliplane is a managed container platform that makes self-hosting painless. With one-click deployment, you can get Rivet Engine up and running in minutes - no server setup, no reverse proxy config, no infrastructure to maintain.

Prerequisites

Before deploying, ensure you have a Sliplane account (free trial available).

Quick start

Sliplane provides one-click deployment with presets.

SliplaneDeploy Rivet Engine >
  1. Click the deploy button above
  2. Select a project
  3. Select a server (If you just signed up you get a 48-hour free trial server)
  4. Click Deploy!

About the preset

The one-click deploy above uses Sliplane's Rivet Engine preset. Here's what's included:

  • Rivet Engine image (rivetdev/engine) version 2.2.0
  • Persistent storage mounted to /data for durable actor state (file system backend using RocksDB)
  • Pre-configured admin token for API authentication
  • Health check on /health for automatic restart on failure
  • Port 6420 exposed for the Rivet API

Next steps

Once Rivet Engine is running on Sliplane, access it using the domain Sliplane provided (e.g. rivetengine-xxxx.sliplane.app).

Authentication

The preset generates a random admin token stored in the RIVET__AUTH__ADMIN_TOKEN environment variable. You'll need this token to authenticate API requests. Copy it from your service's environment settings in the Sliplane dashboard and pass it as a Bearer token in the Authorization header:

Authorization: Bearer <your-admin-token>

Connecting RivetKit

To connect your application to your self-hosted Rivet Engine, configure RivetKit to point at your Sliplane domain. Check the Rivet self-hosting docs for the full setup guide.

Environment variables

Here are some useful environment variables you can customize:

VariableDescriptionDefault
RIVET__FILE_SYSTEM__PATHPath for persistent actor state/data
RIVET__AUTH__ADMIN_TOKENToken for API authentication(auto-generated)
PORTPort the engine listens on6420

Logging

Rivet Engine logs to STDOUT by default, which works well with Sliplane's built-in log viewer. For tips on working with container logs, check out our post on how to use Docker logs.

Cost comparison

You can also self-host Rivet Engine with other cloud providers. Here is a pricing comparison for the most common ones:

ProvidervCPURAMDiskMonthly CostNote
Sliplane22 GB40 GB€9 (~$10.65)Flat rate, 1 TB bandwidth, SSL included
Fly.io22 GB40 GB~$18Disk and bandwidth billed separately
Render12 GB40 GB~$35100 GB bandwidth, Disk billed separately
Railway22 GB40 GB~$67 + $20 planPro plan floor, usage-based, bandwidth billed separately
Click here to see how these numbers were calculated.

(Assuming an always-on instance running 730 hrs/month)

  • Sliplane: flat €9/month for the Base server. Unlimited services on the same server, 1 TB egress and SSL included.
  • Fly.io: shared-cpu-2x 2 GB = $11.83/mo + 40 GB volume × $0.15/GB = $6 -> ~$17.83/mo. Egress billed separately ($0.02/GB in EU).
  • Render: closest match is Standard ($25, 1 vCPU / 2 GB) plus 40 GB disk × $0.25/GB = $10 -> ~$35/mo. Stepping up to Pro (2 vCPU / 4 GB) costs $85/mo + disk.
  • Railway (Pro plan): CPU 2 × $0.00000772/s × 2,628,000 s = $40.57; RAM 2 × $0.00000386/s × 2,628,000 s = $20.29; volume 40 × $0.00000006/s × 2,628,000 s = $6.31 -> ~$67/mo compute, plus the $20/mo Pro plan floor and $0.05/GB egress.

Bandwidth costs can add up fast on usage-based providers. Use our bandwidth cost comparison tool to see what your egress would cost on each platform.

FAQ

What are Rivet Actors good for?

Rivet Actors are ideal for workloads that need long-lived state and real-time communication. Common use cases include AI agents, multiplayer game backends, collaborative editing, chat applications, and durable workflow orchestration. Each actor maintains its own in-memory state with automatic persistence, so you don't need to manage external databases for session data.

Can I use PostgreSQL instead of the file system backend?

Yes, Rivet Engine supports PostgreSQL as a storage backend for multi-node deployments. However, the PostgreSQL backend is still experimental. For a production-ready single-node setup (which is what the Sliplane preset provides), the file system backend (RocksDB) is recommended. See the Rivet architecture docs for details.

How do I update Rivet Engine?

Change the image tag in your service settings on Sliplane and redeploy. Check Docker Hub for the latest stable version. Your data in /data is persisted on a volume, so it survives redeployments.

Are there alternatives to Rivet Engine?

Yes, depending on your use case. Temporal focuses on durable workflow execution. Cloudflare Durable Objects offer a similar actor model but are tied to Cloudflare's platform. Akka provides a mature actor framework for JVM languages. Rivet stands out by being open-source, self-hostable, and purpose-built for modern stateful workloads like AI agents.

How do I monitor Rivet Engine?

Rivet Engine exposes a health endpoint at /health that Sliplane uses for automatic health checks. You can also monitor container logs through Sliplane's built-in log viewer. For more advanced monitoring, consider deploying Grafana on the same Sliplane server to visualize metrics.

Self-host Rivet Engine now - It's easy!

Sliplane gives you everything you need to run Rivet Engine without server hassle.