Manual Deployment
Manual deployment of Rivet is meant for advanced use cases. For a simpler solution, try our Docker Compose.
Get started faster with a single container
If you're deploying Rivet on a single machine or just want to try it, Rivet
can be started with a single docker run command. See Single Container
Deployments for more information.
Prerequisites
Architecture overview
Core cluster:
- Contains hardware running the Rivet server as well as databases.
 
Edge server:
- Contains hardware running the Rivet client.
 
Core Cluster Setup
- Clone repo
 - 
Setup prerequisites
This guide assumes you have the following already running in your core cluster:
- CockroachDB
 - ClickHouse
 - Redis
 - S3 (any compatible provider)
 - NATS
 - Vector
 
 - 
Setup the Rivet server config with your existing components:
rivet.yaml - 
Build and run the Rivet server docker container:
Command LineCommand Line 
Once running, you can visit the dashboard at http://localhost:8080.
Edge Server Setup
- Clone repo
 - 
Setup Prerequisites
This guide assumes you already have FoundationDB running on the edge.
 - 
Setup the Rivet client config:
rivet.yamlCurrently, only the "isolate" flavor is supported for self hosting.
 - 
Build and run the Rivet client docker container:
Command LineCommand Line 
Test deployment
To test creating an actor end-to-end, run:
You should see an actor in the actor list in the dashboard.
Core Cluster <-> Edge Server
Communication between the core and edge should be handled via secure mTLS encrypted tunnels. Some common solutions:
- Cloudflare Tunnels
 - common VLAN
 - Tailscale
 - Wireguard
 
Rivet Guard
The Rivet Guard system is currently unavailable with a manual deployment. Coming soon!
Caveats
Manual deployment currently only supports host networking and host ports.
Read more about host networking and ports here.