
Self-hosting Rivet Engine the easy way
Yulei ChenRivet 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.
- Click the deploy button above
- Select a project
- Select a server (If you just signed up you get a 48-hour free trial server)
- 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) version2.2.0 - Persistent storage mounted to
/datafor durable actor state (file system backend using RocksDB) - Pre-configured admin token for API authentication
- Health check on
/healthfor automatic restart on failure - Port
6420exposed 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:
| Variable | Description | Default |
|---|---|---|
RIVET__FILE_SYSTEM__PATH | Path for persistent actor state | /data |
RIVET__AUTH__ADMIN_TOKEN | Token for API authentication | (auto-generated) |
PORT | Port the engine listens on | 6420 |
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:
| Provider | vCPU | RAM | Disk | Monthly Cost | Note |
|---|---|---|---|---|---|
| Sliplane | 2 | 2 GB | 40 GB | €9 (~$10.65) | Flat rate, 1 TB bandwidth, SSL included |
| Fly.io | 2 | 2 GB | 40 GB | ~$18 | Disk and bandwidth billed separately |
| Render | 1 | 2 GB | 40 GB | ~$35 | 100 GB bandwidth, Disk billed separately |
| Railway | 2 | 2 GB | 40 GB | ~$67 + $20 plan | Pro 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-2x2 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.