
Deploy rustpad [Updated Mar ’26]
Rustpad is a lightweight collaborative text editor built in Rust
rustpad
Just deployed
Deploy and Host Rustpad on Railway
About Hosting
Rustpad is an open-source collaborative text editor that synchronizes document edits in real time using operational transformation. The upstream image runs as a single Rust service and does not require PostgreSQL, Redis, or other external infrastructure for basic usage.
For Railway, the cleanest setup is one service using the official Docker image ekzhang/rustpad@sha256:536b63883b2661f31de580df438427f2b799f9284bf9f908708ea3b5d231b585, routed to port 3030. By default, documents are memory-backed and expire after inactivity. Optional SQLite persistence can be enabled with SQLITE_URI.
Why Deploy
- Self-host a private collaborative editor with a minimal runtime footprint
- Deploy as one service with no database dependency for quick startup
- Keep control of data retention and logs in your own Railway project
- Add optional SQLite persistence without changing app architecture
- Use a mature upstream Docker image maintained by the project author
Common Use Cases
- Team scratchpad for architecture notes and pair debugging
- Temporary collaborative coding snippets during incident response
- Classroom or workshop live note editing
- Internal docs drafting where ephemeral documents are acceptable
- Lightweight self-hosted alternative to online paste/edit tools
Dependencies for Deployment
Deployment Dependencies
| Dependency | Details |
|---|---|
| Docker Image | ekzhang/rustpad@sha256:536b63883b2661f31de580df438427f2b799f9284bf9f908708ea3b5d231b585 |
| Public Port | 3030 |
| Required Env Vars | PORT |
| Optional Env Vars | EXPIRY_DAYS, SQLITE_URI, RUST_LOG |
| Default Storage | In-memory document state |
| Optional Persistence | SQLite file via SQLITE_URI (recommended with Railway volume) |
| Health Check | / |
| Extra Services | None |
Template Content
rustpad
ekzhang/rustpad