Open source · Self-hosted IaaS
marppa-cloud
A control plane for a single physical host: create virtual machines, networks and containers from a web console instead of ssh-ing in and running scripts by hand.
The console at this address is a live deployment running on my own hardware. Sign in to look around — provisioning real resources is limited to my account.
Summary
The console talks to a NestJS API, which queues work for an agent running on the host. The agent is what actually calls libvirt, writes nftables rules and starts containers, and reports every step back over a WebSocket, so an action in the UI maps to something you can verify on the machine.
- Repository
- nicoovillarr/marppa-cloud
- License
- MIT
- Console
- Next.js 15, Tailwind, Zustand
- API
- NestJS, PostgreSQL, Redis
- Host agent
- Node, libvirt, nftables
- Runs on
- One machine you already own
Modules
Each module owns one kind of resource on the host.
| Module | Resource | Managed with |
|---|---|---|
| Hive | Workers | libvirt virtual machines provisioned with cloud-init |
| Mesh | Zones | Linux bridges, DHCP leases and nftables rules |
| Nucleus | Atoms | Containers, with each capability graded by blast radius |
| Orbit | Portals | DDNS records and TCP tunnels into the host |