tenement
Lightweight process hypervisor in Rust.
Run 100+ isolated services on a single server, with most idle at any time.
Features
Section titled “Features”- Subdomain routing -
user.api.example.com→api:user - Scale-to-zero - Stop idle instances, wake on request
- Process isolation - Namespace separation (zero overhead) or gVisor sandbox
- Weighted routing - Blue-green and canary deployments
- Auto-restart - Health checks with exponential backoff
- Built-in TLS - Let’s Encrypt certificates
- Single binary - ~10MB, one TOML config file
Use Cases
Section titled “Use Cases”- Multi-tenant SaaS (each tenant = isolated process)
- Microservices on a single server
- Scale-to-zero services without per-machine pricing
Comparison
Section titled “Comparison”| Tool | Trade-off |
|---|---|
| Docker | Container overhead, slower startup |
| systemd | No routing, no idle timeout |
| Kubernetes | Complex for single-server deployments |
| Fly Machines | Pay per machine, can’t overstuff |
Get Started
Section titled “Get Started”- Quick Start - Installation & first spawn
- Why tenement? - The problem it solves
Guides
Section titled “Guides”- Isolation Levels - Namespace vs sandbox
- Fleet Mode - Multi-server orchestration
- Configuration - Full TOML reference
- Production Setup - TLS, systemd, Caddy
- Deployments - Blue-green, canary routing
Use Cases
Section titled “Use Cases”- Multi-tenant SaaS - Primary use case
- Scale-to-Zero Services - Idle timeout & wake-on-request
Reference
Section titled “Reference”- Roadmap - What’s coming
- Troubleshooting - Common issues