Momo
One binary. Multiple nodes. No Kubernetes.
Standalone multi-node container runtime and gateway — describe apps in YAML, reconcile Docker, route traffic, scale to zero.
How it works
Desired state in a shared store. Nodes reconcile Docker. The gateway proxies HTTP and WebSocket — including cold starts.
- 01EdgeOptional TLS front door
- 02GatewayRoute watch + stream proxy
- 03NodeAcquire / Release over gRPC
- 04DockerHostSpec reconciled live
Client ──▶ [momo edge] ──▶ momo gateway ── Acquire/Release ──▶ momo node ──▶ Docker
│ │
└──────── shared store (file|sqlite|postgres) ─┘Built for operators
Spec in, routes live — without a control-plane UI or Kubernetes.
- Spec-driven deploys
app.ymlwithapiVersion: momo.dev/v1— containers, routes, health, deps. - Scale to zeroIdle reaper stops workloads; concurrent cold starts share one Docker start.
- Multi-node routingLink hosts; gateway routes by domain to the owning node.
- Production defaultsAuth token, mTLS, Prometheus metrics, JSON logs, unsafe Docker blocked.
Ship the cluster you can hold in one CLI
Read the docs, or clone the repo and run a local node.