Run on your servers
Cut cloud costs

Uncloud is a lightweight Docker clustering tool for running web apps on your own servers — from cloud VMs to bare metal. Replace Heroku and Render, no Kubernetes required.

# Start with any cloud VM or your own hardware
$ uc machine init [email protected]
 
# Deploy your app with automatic HTTPS
$ uc run --name my-app -p app.example.com:8000/https app-image:latest
✨ Your app is available at https://app.example.com
 
# Achieve high availability by adding more machines and scaling the app
$ uc machine add [email protected]
$ uc scale my-app --replicas 2

Cloud-like experience you control

Keep the Docker workflows you love while optimizing infrastructure costs

Mix and Match Infrastructure

  • Mix and match cloud and on-premise across regions and providers
  • Deploy customer-facing apps on reliable cloud VMs
  • Run resource-hungry background jobs on budget-friendly bare metal servers
  • Transform that dusty Mac mini into a powerful staging environment

Effortless Operation

  • Zero-config distributed Docker cluster
  • No control plane to manage
  • Keep apps running even when machines go offline
  • Battle-tested WireGuard networking connects all your machines and workloads right out of the box
  • Automatic HTTPS for your domains using Let's Encrypt

Developer Experience You Love

  • Deploy and manage across machines with familiar Docker-like commands
  • Use the same Docker Compose from local dev to production
  • Find your services instantly with built-in service discovery and DNS
  • Communicate securely with services across machines without opening ports
How it works

Simple by design,
powerful in practice

Uncloud replaces complex clusters with a simple network of machines working seamlessly together — no maintenance overhead, just reliable infrastructure.

Secure private network
Each machine joins a WireGuard mesh network with automatic peer discovery and NAT traversal. Containers get unique IPs and can communicate directly across machines.
Fully decentralized
Unlike traditional orchestrators, there's no central control plane to maintain. Each machine maintains a synchronized copy of the cluster state through peer-to-peer communication, keeping cluster operations functional even if some machines go offline.
Smart CLI
Control your entire infrastructure using intuitive Docker-like commands from anywhere. Deploy, monitor, and scale applications across all your machines while the CLI only needs SSH access to a single machine.
Uncloud cluster diagram
Multi-provider cluster of 3 machines

Deploy anywhere

Run your apps on any Linux machine — from cloud VMs and dedicated servers to bare metal at your office or home.

Automatic HTTPS

Get free TLS certificates and automatic HTTPS for your domains with zero configuration using built-in Caddy reverse proxy.

Load balancing

Distribute traffic across container replicas running on different machines for improved reliability and performance.

Service discovery

Access any service by its name from any container using the built-in DNS that automatically tracks services across your network.

Infrastructure as Code

Define your entire app stack in a familiar Docker Compose file. No need to learn a new config format.

No vendor lock-in

Mix cloud providers and your own hardware freely to optimize costs and performance, without changing how you deploy or manage apps.

Be part of the development journey

Uncloud is an open source project I'm actively developing. I'd love to share this journey with you. Subscribe to follow the progress, get early insights into new features, and be the first to know when it's ready for production use.

    Want to contribute? Check out the GitHub issues or join the GitHub Discussions.