Uncloud logo

Uncloud is a lightweight tool for deploying and managing containerised applications across a cluster of Linux machines. Connect any cloud VMs or bare-metal servers into a secure WireGuard mesh network, then deploy and scale services using familiar Docker Compose files and Docker-like CLI commands.

It sits in the gap between Docker Compose (single-machine only) and Kubernetes (powerful but complex): you get zero-downtime rolling deployments, automatic HTTPS, cross-machine service discovery, and load balancing - with no central control plane to maintain and roughly 150 MB RAM overhead per node.

Links: GitHub · Documentation · Discord · Community Recipes


Follow a Tutorial

Tutorials are guided paths with concrete tasks and step-by-step instructions.

Loading tutorial...

Loading tutorial...


Start in a Playground

Playgrounds are open-ended environments with a pre-configured Uncloud cluster. Use them to experiment freely without any local setup.

Loading playground...

The playground has two server nodes (server-1, server-2) and a dev-machine control node with the uc CLI ready to use:

# List all machines in the cluster
uc machine ls

# Run an Nginx container across the cluster
uc run nginx:latest --name web --publish app.example.com:80/http

# Scale the service to 2 replicas (one per server)
uc scale web 2

Suggested Learning Path

  1. Complete the Set Up a New Cluster tutorial to learn how to initialise a cluster from scratch, add machines, and deploy your first service.
  2. Complete the Deploy a Django App tutorial to see how to ship a Python web application directly from source code — no external container registry required.
  3. Open the Uncloud Cluster playground to experiment freely on a live two-node cluster with the uc CLI.