Multi-machine Docker Compose for production

Uncloud creates a Docker cluster with self-configuring WireGuard mesh, zero-downtime deploys, cross-machine scaling, automatic HTTPS via Caddy, service discovery, and an intuitive CLI. Everything you need to run web apps on cloud VMs or your own hardware, using familiar Compose files. Without cluster-management overhead.

A simpler alternative to Kubernetes, Swarm, Nomad, and Kamal.

We’re moving 300+ websites onto a dozen Uncloud machines, where each owner gets their own machines to run whatever they need.
Read Radboud University’s announcement
Miek Gieben
Miek Gieben
Creator of CoreDNS · ex-Google SRE · Radboud University
Create a cluster

Turn any Linux machines into a Docker cluster

Uncloud creates a lightweight decentralised cluster of Docker hosts that share their state peer-to-peer. The cluster keeps running even if some machines go down.

Each machine joins a secure WireGuard mesh network, so services can talk to each other across machines.

  • Mix cloud VMs and bare-metal servers
  • No control plane or quorum to maintain
  • Cheap enough to run a cluster per team, project, or client
  • SSH is all you need

“In my opinion, Swarm is dead, Nomad is not anymore a free software since it was bought by IBM. So the only robust alternative to the bloat of K8s is Uncloud.”

Frédéric Logier (fredix) on Discord

PaaS-like workflow on your own servers

Deploy with the simplicity of Heroku or Fly.io while keeping full control over your infrastructure.

Your infrastructure

  • Full control over your servers and data
  • Predictable costs without per-request pricing
  • No vendor lock-in or platform dependencies
  • SSH into machines and debug with standard tools

Familiar Docker Compose workflow

  • Build, push, and deploy with one command
  • No image registry required
  • Zero-downtime rolling deployments
  • Scale replicas across machines

Low maintenance

  • No control plane or quorum to manage
  • Secure cross-machine communication without opening ports
  • Services find each other automatically
  • Automatic HTTPS via Let's Encrypt
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 decentralised
Unlike traditional orchestrators, there's no central control plane to maintain. Each machine maintains a synchronised 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 optimise costs and performance, without changing how you deploy or manage apps.

See in action

Deploy a highly available web app with automatic HTTPS across multiple regions and on-premises in just a couple minutes.

Be part of the development journey

Subscribe to follow the progress and get early insights into new features.
See previous newsletters.

Want to contribute? Check out the GitHub issues and join the Discord server.