About
Why Rivetr exists
Many self-hosted PaaS tools need PostgreSQL, Redis, and a reverse proxy before they can deploy anything. Coolify and Dokploy ask for 2 GB of RAM in their docs. The bet behind Rivetr is simpler: a PaaS control plane should be small enough to run on the cheapest VPS you can rent.
Premise
Rivetr is a single Rust binary. It embeds its own database (SQLite in WAL mode) and its own reverse proxy. Measured on 1.0.0 with 30 containers, it used 52 MB RSS; the release binary is 47 MB. It still does everything needed to ship production software.
Every layer is chosen to keep runtime overhead and external surface area low. The result is a platform you can install with one command, understand in an afternoon, and run on hardware you already pay for.
Philosophy
Four principles
These are not marketing bullets. They are the constraints every design decision is checked against.
- 01
Small by default
Measured on 1.0.0 with 30 containers, the process used 52 MB RSS. The release binary is 47 MB. The whole platform fits on a small VPS with room left for apps.
- 02
No external dependencies
Embedded SQLite in WAL mode and an embedded reverse proxy replace the PostgreSQL, Redis, and Traefik that competing tools require. Less to install, less to break, less to secure.
- 03
Own your platform
MIT licensed. No paid tiers, feature gates, or usage telemetry. You run the binary, own the data, and choose the upgrade schedule. The only outbound check is an update check you can disable.
- 04
Everything included
Zero-downtime deploys, automatic HTTPS, 9 managed databases, 365 templates, RBAC, SSO, passkeys, multi-server, Swarm, backups, a TUI, and a built-in MCP server in one binary.
What's inside
The stack that makes 52 MB possible
Every layer was chosen to keep runtime overhead and external surface area low.
| Layer | Technology | Why |
|---|---|---|
| Language and runtime | Rust + Tokio | One async process with no garbage collector and a predictable memory footprint. |
| HTTP layer | Axum 0.8 | Typed extractors, WebSocket support, and a Tower middleware stack. |
| Database | SQLite + SQLx 0.9 (WAL) | Embedded single-file state with compile-checked SQL and concurrent reads in WAL mode. |
| Reverse proxy | hyper + rustls + ArcSwap | Lock-free atomic route updates, per-domain certificates, and HTTP/2 over ALPN. |
| Container runtimes | Docker + Podman | Docker through Bollard 0.21 and the socket API; Podman through its CLI. Auto-detected at startup. |
| Git operations | git CLI | Shallow clones by default, with submodules and Git LFS opt-in per app and SSH keys handled by Rivetr. |
| Dashboard | React 19 + React Router 8 | TypeScript and Tailwind 4, served from the same binary as the API and proxy. |
| TLS and ACME | rustls 0.23 + rcgen | HTTP-01 and DNS-01 issuance for Cloudflare, Route 53, Hetzner, and DigitalOcean. |
Capabilities
Everything you need, nothing you don't
Being small does not mean being limited. Rivetr covers the full lifecycle from first deploy to production scale.
- GitHub, GitLab, Gitea, Bitbucket, any Git URL
- Automatic HTTPS with per-domain certificates
- 9 managed databases, from PostgreSQL to LibSQL
- Multi-server deploys, build servers, and Swarm
- 365 one-click service templates
- Passkeys, TOTP 2FA, OAuth, OIDC SSO
- AES-256-GCM secrets and scoped API tokens
- Traffic analytics, Prometheus metrics, uptime
- Vault, OpenBao, Infisical, Doppler, AWS Secrets Manager
- Browser terminal, remote file browser, TUI, CLI
- Built-in MCP server with 11 tools
- Database, volume, and instance backups with restore
License
Free, forever
Rivetr is MIT licensed. There are no paid tiers, feature gates, or usage telemetry. Self-host it on any server you own or rent, with no seat limits and no expiry.
curl -fsSL https://raw.githubusercontent.com/KwaminaWhyte/rivetr/main/install.sh | sudo bash