Marppa

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

Overview

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.

4 modules
ModuleResourceManaged with
HiveWorkerslibvirt virtual machines provisioned with cloud-init
MeshZonesLinux bridges, DHCP leases and nftables rules
NucleusAtomsContainers, with each capability graded by blast radius
OrbitPortalsDDNS records and TCP tunnels into the host

Links