Skip to content

Commit 8646035

Browse files
chore: railway blog (#3031)
1 parent 9672d17 commit 8646035

File tree

2 files changed

+60
-0
lines changed

2 files changed

+60
-0
lines changed
314 KB
Loading
Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
export const author = "nicholas-kissel"
2+
export const published = "2025-10-01"
3+
export const category = "changelog"
4+
export const keywords = ["railway", "self-host", "marketplace", "open-source", "deployment", "stateful", "durable objects alternative", "actors"]
5+
6+
# Self-Host Rivet on Railway
7+
8+
Rivet is now a verified app on the Railway Marketplace. With a few clicks, you can deploy and self-host Rivet on Railway and start building stateful apps anywhere you can run Node.js or Bun—without vendor lock-in.
9+
10+
## What’s New with Railway
11+
12+
- **One-click deploy**: Spin up Rivet on Railway in seconds.
13+
- **Two templates**: [Rivet Starter](https://railway.com/deploy/rivet-starter) with example app; [Rivet](https://railway.com/deploy/rivet) blank template to start fresh.
14+
- **Full Rivet Engine**: Actors, state, routing, and persistence.
15+
- **Inspector included**: Real-time actor visibility out of the box.
16+
17+
18+
## Why Rivet?
19+
20+
**Open-source alternative to Durable Objects**
21+
Durable-Objects-style per-key isolation with portability: run it yourself, keep control of runtime, data, and costs.
22+
23+
**Actors**
24+
Each Actor owns a key (e.g., a user, room, cart) with single-threaded execution, in-memory state, and persistence. That means no ad-hoc locks, no “who owns this?” routing, and no bolt-on caches.
25+
26+
**Built-in visibility**
27+
Rivet Inspector gives live views of Actor state, messages, and performance for fast debugging.
28+
29+
30+
## How to build with Actors
31+
32+
**AI Agents**
33+
- Per-agent memory lives in the Actor (no external cache glue).
34+
- Tool calls/workflows run sequentially in one place—no race conditions.
35+
- Simple long-running steps via Actor messages and scheduled work.
36+
37+
**Real-Time & Collaboration**
38+
- Make each room/document a single Actor: ordered events, membership, and presence in one spot.
39+
- Broadcast to clients from the room Actor (predictable fan-out, no custom pub/sub scaffolding).
40+
41+
**Stateful APIs**
42+
- One Actor per entity (user/cart/session).
43+
- Built-in idempotency per key (retries don’t double-apply).
44+
- Consistent read-modify-write without database locks.
45+
46+
**Distributed Workflows**
47+
- Decompose by key; Actors communicate via messages instead of shared locks.
48+
- Timers/scheduled work per Actor for sagas and retries.
49+
- Horizontal scale by sharding keys—no global coordination layer.
50+
51+
## Get Started
52+
53+
Choose the [Rivet Starter](https://railway.com/deploy/rivet-starter) template to explore with an example chat app, or the [Rivet](https://railway.com/deploy/rivet) template to build your own.
54+
55+
For detailed deployment instructions, see the [Railway deployment documentation](https://www.rivet.dev/docs/self-hosting/railway).
56+
57+
## Support
58+
59+
- [GitHub Issues](https://github.com/rivet-gg/rivet/issues)
60+
- [Discord](https://rivet.gg/discord)

0 commit comments

Comments
 (0)