Uncloud is a lightweight container orchestration tool written in Go that enables developers to deploy and manage containerized applications across distributed networks of Docker hosts without the complexity of Kubernetes or Docker Swarm. The project positions itself as a pragmatic middle ground between simple cloud platforms like Heroku and heavyweight orchestrators, targeting developers who want to own their infrastructure while maintaining a cloud-like developer experience.
The core architecture eliminates the need for a central control plane by implementing a fully decentralized design where each machine maintains a synchronized copy of cluster state through peer-to-peer communication using a CRDT-based distributed SQLite database called corrosion. This approach keeps cluster operations functional even when some machines go offline, removing the operational burden of maintaining highly-available control planes. Communication between machines happens through an automatic WireGuard mesh network that handles peer discovery and NAT traversal, giving containers unique IPs for direct cross-machine communication without manual configuration.
Uncloud uses Docker Compose format for defining services and volumes, allowing developers to leverage familiar tooling rather than learning a new domain-specific language. The platform provides production-grade features including automatic service discovery through a built-in DNS server, persistent storage management across machines, zero-downtime rolling deployments, and managed HTTPS with automatic TLS certificate provisioning via Let's Encrypt through an integrated Caddy reverse proxy. It also integrates with Unregistry for building and pushing Docker images directly to machines without external registries, transferring only missing layers for efficiency.
The project maintains a Docker-like CLI interface for managing both infrastructure and applications, and supports remote management where users can control their entire infrastructure through SSH access to any single machine in the cluster. The platform can combine cloud VMs, dedicated servers, and bare metal into a unified computing environment regardless of location or provider, with automatic DNS records under the uncld.dev domain for services requiring public access.
According to GitGenius activity tracking, the repository shows strong engagement with a median issue and pull request response latency of 0.1 hours, though the mean of 227.6 hours across 208 items indicates some variance in response times. The most active issue labels are enhancement with 59 items and bug with 54 items, reflecting ongoing feature development and maintenance. Primary contributor psviderski has logged 541 events, with secondary contributors miekg at 203 events and tonyo at 39 events. The repository shares overlapping contributors with oven-sh/bun, anomalyco/opencode, and go-task/task, suggesting cross-pollination within the developer tools ecosystem.
The project is classified across multiple domains including Cloud Migration, Resource Portability, Multi-cloud, Local Development, Cloud Emulation, Infrastructure Management, DevOps Tooling, Environment Replication, Cloud Agnostic, and Data Synchronization. The design philosophy emphasizes imperative operations over declarative state reconciliation to simplify both the mental model and troubleshooting. Uncloud aims to make deployment feel seamless whether running on a five-dollar VPS, spare hardware, or dedicated servers, while minimizing system overhead to maximize resources available for applications.