# psviderski/uncloud

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/psviderski-uncloud).**

4,653 stars · 124 forks · Go · apache-2.0

## Links

- GitHub: https://github.com/psviderski/uncloud
- Homepage: https://uncloud.run
- awesome-repositories: https://awesome-repositories.com/repository/psviderski-uncloud.md

## Topics

`containers` `deployment` `devops` `docker` `docker-compose` `golang` `hacktoberfest` `kubernetes` `orchestration` `self-hosted`

## Description

Uncloud is a decentralized container orchestrator designed to deploy and manage applications across multiple servers without a central control plane. It functions as a peer-to-peer system and a Docker Compose cluster deployer, using SSH-based infrastructure management to coordinate operations across remote nodes.

The project distinguishes itself by using a secure mesh network overlay to enable direct inter-container communication across different physical machines. It facilitates container image distribution by transferring missing layers directly from local environments to target nodes, bypassing the need for an external registry. Additionally, it provides an automated reverse proxy manager that handles external traffic routing and automatic TLS certificate provisioning for public HTTPS access.

The platform covers a broad range of orchestration capabilities, including zero-downtime rolling updates, application replica scaling, and persistent storage orchestration. It also includes tools for cluster machine provisioning, service health monitoring, and internal DNS service resolution.

Cluster management and deployments are performed through a command-line interface that supports operational context switching and deployment change planning.

## Tags

### DevOps & Infrastructure

- [Containerized Application Deployments](https://awesome-repositories.com/f/devops-infrastructure/containerized-application-deployments.md) — Builds and launches full application environments across a cluster of servers using Compose files and rolling updates. ([source](https://uncloud.run/docs/category/deployments))
- [Decentralized Cluster Coordination](https://awesome-repositories.com/f/devops-infrastructure/decentralized-cluster-coordination.md) — Coordinates application state and availability across multiple servers using a peer-to-peer system without a central control plane.
- [Decentralized Cluster Management](https://awesome-repositories.com/f/devops-infrastructure/decentralized-cluster-management.md) — Provides a peer-to-peer system for deploying and managing containerized applications across multiple servers without a central control plane.
- [Cluster Lifecycle Management](https://awesome-repositories.com/f/devops-infrastructure/cluster-lifecycle-management.md) — Provides tools for initializing clusters, adding remote servers, and managing the pool of available machines. ([source](https://uncloud.run/docs/category/cli-reference))
- [Cluster Management Connectivity](https://awesome-repositories.com/f/devops-infrastructure/cluster-management-connectivity.md) — Provides a single-machine entry point to communicate with and manage a distributed set of servers. ([source](https://uncloud.run/docs/category/clusters))
- [Configuration-Driven Service Definitions](https://awesome-repositories.com/f/devops-infrastructure/configuration-driven-service-definitions.md) — Creates services based on structured configuration file definitions. ([source](https://uncloud.run/docs/category/cli-reference))
- [Decentralized Orchestrators](https://awesome-repositories.com/f/devops-infrastructure/container-orchestration/container-orchestration-interfaces/container-orchestrators/decentralized-orchestrators.md) — Implements a peer-to-peer system for managing containerized applications without a central control plane.
- [Docker Compose Deployments](https://awesome-repositories.com/f/devops-infrastructure/container-orchestration/container-runtimes/runtime-configuration-interfaces/docker-socket-orchestrators/docker-target-configurators/docker-container-deployments/docker-compose-deployments.md) — Uses Docker Compose files to define multi-service application configurations for repeatable cluster deployments.
- [Direct Layer Distribution](https://awesome-repositories.com/f/devops-infrastructure/container-orchestration/container-runtimes/runtime-configuration-interfaces/docker-socket-orchestrators/docker-target-configurators/docker-container-deployments/docker-image-building/direct-layer-distribution.md) — Pushes images directly to target machines by transferring only missing layers without an external registry. ([source](https://cdn.jsdelivr.net/gh/psviderski/uncloud@main/README.md))
- [Direct Node Image Uploads](https://awesome-repositories.com/f/devops-infrastructure/container-orchestration/container-runtimes/runtime-configuration-interfaces/docker-socket-orchestrators/docker-target-configurators/docker-container-deployments/docker-image-building/direct-node-image-uploads.md) — Pushes local images directly to target cluster nodes for deployment, bypassing the need for an external registry. ([source](https://uncloud.run/docs/category/cli-reference))
- [Container Image Distribution](https://awesome-repositories.com/f/devops-infrastructure/container-orchestration/image-management-tools/container-image-distribution.md) — Facilitates transferring container images directly from local environments to target nodes without using an external registry.
- [Decentralized Cluster Orchestration](https://awesome-repositories.com/f/devops-infrastructure/decentralized-cluster-orchestration.md) — Links multiple hosts into a peer-to-peer network to manage applications without a central control plane. ([source](https://uncloud.run/))
- [SSH-Based Remote Execution](https://awesome-repositories.com/f/devops-infrastructure/execution-environments/remote-workspace-command-execution/ssh-based-remote-execution.md) — Manages the entire cluster by executing commands through SSH access to any single member machine.
- [Local Image Loading](https://awesome-repositories.com/f/devops-infrastructure/local-image-loading.md) — Injects container images directly into the cluster from a local environment to bypass external registries. ([source](https://uncloud.run/docs/guides/deployments/deploy-app))
- [Mesh Networking](https://awesome-repositories.com/f/devops-infrastructure/mesh-networking.md) — Establishes a secure encrypted mesh network overlay to allow direct inter-container communication across different physical machines.
- [Rolling Update Orchestrators](https://awesome-repositories.com/f/devops-infrastructure/rolling-update-orchestrators.md) — Updates services by replacing containers one by one and verifying health to ensure zero-downtime availability. ([source](https://uncloud.run/docs/guides/deployments/rolling-deployments))
- [Service Orchestration Configurations](https://awesome-repositories.com/f/devops-infrastructure/service-orchestration-configurations.md) — Launches and updates services across the cluster using orchestration configurations. ([source](https://uncloud.run/docs/category/cli-reference))
- [Zero-Downtime Deployments](https://awesome-repositories.com/f/devops-infrastructure/zero-downtime-deployments.md) — Ensures continuous availability by replacing containers one by one and verifying health during rolling updates.
- [Client Cluster Contexts](https://awesome-repositories.com/f/devops-infrastructure/cluster-management/client-cluster-contexts.md) — Manages multiple named connection profiles to target different cluster environments without manual switching. ([source](https://get.uncloud.run/install.sh))
- [Targeted Distribution](https://awesome-repositories.com/f/devops-infrastructure/container-orchestration/image-management-tools/container-image-distribution/targeted-distribution.md) — Implements image distribution that only uploads container layers to machines designated to run the specific service. ([source](https://uncloud.run/docs/guides/deployments/deploy-specific-machines))
- [Storage Volume Orchestration](https://awesome-repositories.com/f/devops-infrastructure/container-orchestration/storage-volume-orchestration.md) — Orchestrates persistent data volumes across multiple machines to support stateful services. ([source](https://cdn.jsdelivr.net/gh/psviderski/uncloud@main/README.md))
- [Placement Restrictions](https://awesome-repositories.com/f/devops-infrastructure/containerized-service-deployment/placement-restrictions.md) — Provides the ability to restrict container placement to specific named machines within the cluster. ([source](https://uncloud.run/docs/guides/deployments/deploy-specific-machines))
- [Service Placement Strategies](https://awesome-repositories.com/f/devops-infrastructure/containerized-service-deployment/service-placement-strategies.md) — Assigns services to specific machines within a cluster or deploys replicas to every available node. ([source](https://uncloud.run/docs/category/deployments))
- [CLI Control Interfaces](https://awesome-repositories.com/f/devops-infrastructure/control-planes/cli-control-interfaces.md) — Provides a command-line interface to manage machines and deploy applications across the decentralized cluster. ([source](https://uncloud.run/docs/category/getting-started))
- [Deployment Execution Planning](https://awesome-repositories.com/f/devops-infrastructure/deployment-execution-planning.md) — Generates a detailed execution plan of modifications for review before applying changes to the cluster. ([source](https://uncloud.run/docs/))
- [Deployment Rollbacks](https://awesome-repositories.com/f/devops-infrastructure/deployment-rollbacks.md) — Automatically reverts a container to its previous stable version if new deployments fail health checks. ([source](https://uncloud.run/docs/guides/deployments/rolling-deployments))
- [Global Service Placement](https://awesome-repositories.com/f/devops-infrastructure/global-service-placement.md) — Places one instance of a service on every machine in a cluster to support infrastructure tasks. ([source](https://uncloud.run/docs/guides/deployments/deploy-global-services))
- [Service Health Monitoring](https://awesome-repositories.com/f/devops-infrastructure/infrastructure/operational-observability-access/service-health-monitoring.md) — Tracks and reports on the operational status, runtime details, and public endpoints of deployed services. ([source](https://uncloud.run/docs/getting-started/deploy-demo-app))
- [Plan-Based Imperative Deployments](https://awesome-repositories.com/f/devops-infrastructure/plan-based-imperative-deployments.md) — Deploys and scales containers using commands that generate an execution plan for approval before applying changes. ([source](https://uncloud.run/docs))
- [Pre-deployment Lifecycle Hooks](https://awesome-repositories.com/f/devops-infrastructure/pre-deployment-lifecycle-hooks.md) — Executes a specific command once before a new service version goes live to handle migrations or asset uploads. ([source](https://uncloud.run/docs/guides/deployments/pre-deploy-hooks))
- [Volume Management](https://awesome-repositories.com/f/devops-infrastructure/volume-management.md) — Creates and manages persistent data storage volumes on specific machines within the cluster. ([source](https://uncloud.run/docs/category/cli-reference))

### Development Tools & Productivity

- [Node Software Provisioning](https://awesome-repositories.com/f/development-tools-productivity/development-environment-management/environment-provisioning-configuration/virtual-machine-provisioning/node-software-provisioning.md) — Installs runtimes, management daemons, and reverse proxies to prepare servers for hosting applications. ([source](https://uncloud.run/docs/getting-started/deploy-demo-app))
- [Container Command Executors](https://awesome-repositories.com/f/development-tools-productivity/shell-command-execution/container-command-executors.md) — Enables execution of shell commands and interactive shells directly inside running service containers. ([source](https://uncloud.run/docs/category/cli-reference))

### Networking & Communication

- [Container Image Layer Transfers](https://awesome-repositories.com/f/networking-communication/direct-file-transfers/container-image-layer-transfers.md) — Facilitates container image distribution by transferring only missing layers directly to target nodes without an external registry.
- [Mesh Networking](https://awesome-repositories.com/f/networking-communication/mesh-networking.md) — Establishes encrypted private mesh networks across locations to enable direct inter-container communication.
- [Overlay Networks](https://awesome-repositories.com/f/networking-communication/overlay-networks.md) — Establishes secure virtual network layers across different physical locations for direct container-to-container communication. ([source](https://uncloud.run/docs/))
- [Reverse Proxies](https://awesome-repositories.com/f/networking-communication/reverse-proxies.md) — Provides a distributed reverse proxy that maps services to public HTTPS endpoints with automatic certificate renewal.
- [Service Address Resolution](https://awesome-repositories.com/f/networking-communication/service-address-resolution.md) — Maps service names and IDs to private IP addresses to enable seamless inter-container communication. ([source](https://uncloud.run/docs/category/services))
- [Automated DNS Assignment](https://awesome-repositories.com/f/networking-communication/dns-management/automated-dns-assignment.md) — Provides automatic DNS record assignment and HTTPS for public services to enable instant external access. ([source](https://uncloud.run/docs/))
- [Custom Domain Mapping](https://awesome-repositories.com/f/networking-communication/network-infrastructure-routing/network-routing-traffic-management/network-traffic-management/cdn-routing-gateways/custom-domain-mapping.md) — Maps services to external DNS records and manages TLS certificates through a centralized routing gateway. ([source](https://uncloud.run/docs/getting-started/deploy-demo-app))
- [Reverse Proxy Orchestrators](https://awesome-repositories.com/f/networking-communication/networking/reverse-proxies/reverse-proxy-orchestrators.md) — Includes an automated reverse proxy manager that handles external traffic routing and TLS certificate provisioning.
- [Traffic Routing](https://awesome-repositories.com/f/networking-communication/traffic-routing.md) — Exposes internal container ports to the outside world using a reverse proxy for external user access. ([source](https://uncloud.run/docs/category/ingress--https))

### Software Engineering & Architecture

- [YAML Configuration Files](https://awesome-repositories.com/f/software-engineering-architecture/application-lifecycle-management/configuration-management/configuration-formats-and-schemas/yaml-configuration-files.md) — Supports YAML-based Compose files to define multi-service application configurations for repeatable deployments. ([source](https://uncloud.run/docs/getting-started/deploy-demo-app))
- [Service Configuration Management](https://awesome-repositories.com/f/software-engineering-architecture/service-configuration-management.md) — Stores non-sensitive configuration data separately from images and mounts it into containers at runtime. ([source](https://uncloud.run/docs/category/concepts))

### System Administration & Monitoring

- [SSH-Based Infrastructure Managers](https://awesome-repositories.com/f/system-administration-monitoring/ssh-based-infrastructure-managers.md) — Coordinates cluster operations and application deployments by executing commands over SSH across remote nodes. ([source](https://cdn.jsdelivr.net/gh/psviderski/uncloud@main/README.md))

### Data & Databases

- [Container Instance Scaling](https://awesome-repositories.com/f/data-databases/horizontal-scaling/replica-scaling/container-instance-scaling.md) — Distributes multiple container instances across available machines to increase capacity and ensure high availability. ([source](https://uncloud.run/))
- [Deployment Execution Planning](https://awesome-repositories.com/f/data-databases/query-planning/catalog-based-planning/deployment-execution-planning.md) — Generates a detailed execution plan of modifications for review before applying changes to the cluster.

### Security & Cryptography

- [Automatic HTTPS Proxies](https://awesome-repositories.com/f/security-cryptography/governance-policy-frameworks/security-infrastructure/automatic-https-proxies.md) — Implements network gateways that automate TLS certificate management for publishing services to the internet. ([source](https://uncloud.run/))
- [Automated Certificate Management](https://awesome-repositories.com/f/security-cryptography/network-infrastructure-security/web-network-security/security-https/automated-certificate-management.md) — Provides automated handling of the TLS certificate lifecycle, including issuance and renewal, for services in the cluster. ([source](https://uncloud.run/docs/category/ingress--https))
