psviderski/uncloud

A lightweight tool for deploying and managing containerised applications across a network of Docker hosts. Bridging the gap between Docker and Kubernetes ✨

View on GitHub ↗Jump to charts ↓Open shareable report

Summary Information

Updated 57 minutes ago
Added to GitGenius on December 6th, 2025
Created on July 20th, 2024
Open Issues & Pull Requests: 89 (+0)
Number of forks: 175
Total Stargazers: 5,464 (+0)
Total Subscribers: 20 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 24.9 hours
Mean response time: 33.5 days
90th percentile: 133.0 days
Tracked items: 200

How this project is maintained

Around half of the issues opened in the past year never receive a reply. 54% of open issues come from outside the core team, a mix of external reports and the maintainers' own roadmap. Work labelled "bug" is answered fastest, typically in about 12 hours, while "enhancement" waits about 3 weeks. 69% of tracked open issues have had no activity in three months, so the open count overstates what is actively being worked. Only 8% of issues opened in the past year have been closed.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 65
New in 7 days: 1
Closed in 7 days: 1
Avg open age: 172 days
Stale 30+ days: 62
Stale 90+ days: 50

Recent activity

Opened in 7 days: 1
Closed in 7 days: 1
Comments in 7 days: 2
Events in 7 days: 3

Top labels

  • enhancement (59)
  • bug (54)
  • documentation (5)
  • question (3)
  • good first issue (2)

Most active issues this week

Detailed Description

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.

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.