Uncloud - Tool for deploying containerised apps across servers without k8s
What Uncloud Provides
- Multi‑machine “Docker Compose++” orchestrator: uses the Compose spec, builds images and pushes directly to nodes (via a companion “unregistry”), sets up a WireGuard mesh, internal DNS, and Caddy‑based HTTPS.
- No central control plane: each node holds a p2p‑synced copy of cluster state (via Fly.io’s Corrosion). Any node can be the entry point for
ucCLI commands. - Features include: cross‑machine service discovery, internal IPs per container, optional “nearest” routing for local replicas, zero‑downtime rollouts at the container level, and multi‑cluster contexts.
Architecture and Control‑Plane Trade‑offs
- Deployments are driven by an imperative CLI, but the tool still computes a diff between the Compose spec and cluster state and applies a plan.
- No automatic rescheduling or autoscaling; HA is achieved by pre‑deploying multiple replicas across machines. Author is wary of reproducing K8s‑style placement/affinity complexity.
- Network partitions do not stop existing workloads; each partition keeps working and can be updated independently.
Comparison with Kubernetes, k3s, and Nomad
- Pro‑K8s voices argue:
- With k3s and managed offerings, small clusters are “easy enough,” highly standardized, and backed by a huge ecosystem (ingress, certs, storage, observability, GitOps, etc.).
- YAML boilerplate aside, manifests can be straightforward, and upgrades are manageable with care.
- Skeptical voices argue:
- Real pain is cluster lifecycle, control‑plane HA, API deprecations, storage and networking complexity, and debugging overlay networks—overkill for a handful of mostly static services.
- For small on‑prem/regulated deployments, running your own control plane (even k3s) adds many components and failure modes.
- Nomad is seen as still having a control plane and a learning curve; its newer license complicates SaaS usage.
Target Use Cases and Relation to Other Tools
- Aimed at homelabs and small teams that outgrew single‑node Docker/quadlets but don’t want to “do Kubernetes,” and at Swarm users worried about project stagnation.
- Compared to PaaS tools (Dokku, Coolify, Dokploy, Kamal), Uncloud sits lower: CLI‑only, no central server, but with stronger multi‑node networking and image distribution; could be a foundation for higher‑level UIs.
Concerns and Open Issues
- Installation currently uses
curl | bashas root on target machines, which multiple commenters find unacceptable; author acknowledges and plans proper packaging, noting--no-installas a workaround. - No secrets management yet (planned), no stack‑level network isolation, limited IPv6 support (works but not default), and no autoscaling.
- Some worry about non‑standard tooling for hiring/onboarding; others welcome a simpler alternative despite that.