You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fix(website): point railway at the repo-root Dockerfile and rework self-host overview
- Fix railway.toml dockerfilePath, which still referenced the old monorepo website/ path
- Add Self-Host vs BYOC diagrams to the self-host overview and align it with the deployed page
- Drop the Recommended badge from self-host sidebar platforms
- Put Control Plane above Workers in the self-host sidebar
Copy file name to clipboardExpand all lines: src/content/self-host/index.mdx
+40-21Lines changed: 40 additions & 21 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -3,41 +3,60 @@ title: "Self-Host"
3
3
description: "Run your workers, the control plane, or both on your own infrastructure."
4
4
---
5
5
6
-
Rivet has two halves, and you can host either one yourself.
6
+
## Self-Host vs BYOC
7
7
8
-
- The **control plane** routes, schedules, and persists. It is stateful.
9
-
- A **worker** is a process running your code with the Rivet SDK. Workers connect outbound to a control plane.
8
+
Rivet provides two deployment models.
10
9
11
-
## Deployment models
10
+
**Self-Host**: You manage the complete stack, including your workers, the control plane, and storage. This has higher complexity but enables air-gapped deployments and custom security policies.
12
11
13
-
|| Control plane: Rivet | Control plane: yours |
14
-
| --- | --- | --- |
15
-
|**Workers: Rivet**| Fully managed | Not available |
16
-
|**Workers: yours**| BYOC | Full self-hosting |
17
-
18
-
Rivet can run the control plane for you at [dashboard.rivet.dev](https://dashboard.rivet.dev). Running your own workers against it is the middle cell, usually called BYOC, and it is documented in the Workers section below.
19
-
20
-
<svgviewBox="0 0 760 150"role="img"aria-label="Your backend, running an envoy, connected bidirectionally to the control plane, which is connected bidirectionally to storage."style="width:100%;max-width:760px;height:auto;display:block;margin:2.5rem auto;font-family:system-ui,sans-serif">
<svgviewBox="0 0 760 210"role="img"aria-label="Self-hosted architecture with a worker, the control plane, and storage connected bidirectionally inside your infrastructure."style="width:100%;max-width:760px;height:auto;display:block;margin:2.5rem auto;font-family:system-ui,sans-serif">
The worker opens the connection outbound to the control plane, so a worker never needs a public URL or an inbound firewall rule. It only needs to reach the control plane.
21
+
**BYOC with Rivet Cloud**: You only manage your workers while Rivet Cloud runs the control plane and storage. This typically has lower operational overhead and supports serverless workers.
28
22
29
-
## Choosing
23
+
<svgviewBox="0 0 760 230"role="img"aria-label="BYOC architecture with a worker in your infrastructure connected bidirectionally to the control plane and storage in Rivet Cloud."style="width:100%;max-width:760px;height:auto;display:block;margin:2.5rem auto;font-family:system-ui,sans-serif">
|**Best for**| Air-gapped environments, strict compliance, custom security policies |All other production deployments|
39
40
|**Support**|[Contact sales](/sales) or community | Community, Slack, and email, varying by plan |
40
41
42
+
Rivet runs the control plane for you at [dashboard.rivet.dev](https://dashboard.rivet.dev). Running your own workers against it is BYOC, documented in the Workers section.
43
+
44
+
## Architecture
45
+
46
+
Rivet has 3 core components:
47
+
48
+
-**Worker**: A process running your code with the Rivet SDK. It connects outbound to the control plane, so it never needs a public URL or an inbound firewall rule.
49
+
-**Control plane**: The orchestration service that manages actor lifecycle, routes messages, and serves the API.
50
+
-**Storage**: The persistence layer for actor state and the messaging infrastructure for real-time communication.
51
+
52
+
## Storage backends
53
+
54
+
-**File system**: Recommended for single-node deployments
55
+
-**PostgreSQL**: Recommended for multi-node deployments; production-ready for light-to-moderate workloads, not built for enterprise scale
56
+
-**FoundationDB**: Best scalability and performance for production deployments ([requires enterprise](/sales))
57
+
58
+
See <SelfHostLinkto="control-plane/storage">Storage</SelfHostLink> for configuration.
59
+
41
60
## Next steps
42
61
43
62
- <SelfHostLinkto="control-plane">Run a control plane</SelfHostLink>
0 commit comments