uncloud
Helps your agent manage an Uncloud cluster. It deploys services, configures networking, and manages machines and volumes.
What it does
This tool helps you manage a group of computers (an Uncloud cluster) working together. You can use it to install new software, set up how they connect to the internet, see what's happening inside them, and add or remove computers from the group.
When to use it
- ✓When you are setting up a new Uncloud cluster of computers.
- ✓When you want to install or update a piece of software on your cluster.
- ✓When you need to check the logs of a program or see the status of a computer.
Example of what to ask your AI
“How do I install a new program called 'my-app' on my Uncloud cluster?”
Want more? Open the sections below.
How to use
The easiest way: copy the message below and paste it into Claude, ChatGPT, Cursor or any AI. It reads the skill and follows the instructions.
Skill link
Ready-to-paste message
How it works
Uncloud uses containers (packaged programs) that run on different machines. It creates a private network between these machines and uses a program called Caddy to manage internet access, ensuring everything works together smoothly.
Installation
Easiest way: copy the skill link and paste it into Claude, ChatGPT or Cursor asking it to follow the instructions.
In the terminal (Claude Code, Codex, Cursor), in your project folder:
npx skills add affaan-m/ECC --skill uncloudOr download just the file:
curl -L https://raw.githubusercontent.com/affaan-m/ECC/main/skills/uncloud/SKILL.md -o SKILL.mdTechnical content (original SKILL.md)
Original text by the author, straight from GitHub.
Uncloud Cluster Management
Reference for the uc CLI — a decentralised self-hosting platform using Docker containers, WireGuard mesh networking, and Caddy reverse proxy.
When to Activate
Use this skill when working with Uncloud clusters, especially when:
- Bootstrapping or joining machines with
uc machine - Deploying services from Compose files with
uc deploy - Publishing HTTP, HTTPS, TCP, or UDP ports through Uncloud
- Configuring Caddy ingress with
x-caddy,x-ports, or--caddyfile - Routing external LAN devices through the cluster proxy
- Inspecting logs, service state, volumes, DNS, or machine placement
How It Works
Uncloud runs Docker services across peer machines connected by a WireGuard mesh. Each machine is an equal cluster member; services communicate on the overlay network and Caddy runs globally to terminate public HTTP/HTTPS traffic. Compose files can use Uncloud extensions for ingress, placement, and generated Caddy configuration, while the uc CLI handles image distribution, scheduling, scaling, logs, and cluster state.
Examples
uc machine init user@host --name machine-1
uc service run --name web -p app.example.com:8080/https nginx:latest
uc deploy
Core Concepts
- No central control plane — all machines are equal peers connected by WireGuard
- Caddy runs as a global service on every machine; auto-obtains TLS from Let's Encrypt
- Overlay network — services communicate via
10.210.0.0/16by default; DNS provided inside the mesh - Caddyfile is autogenerated — never edit it directly; use
x-caddy/--caddyfileinstead
CLI Quick Reference
Machines
| Command | Purpose |
|---|---|
uc machine init user@host |
Bootstrap first machine / new cluster |
uc machine add user@host |
Join machine to existing cluster |
uc machine ls |
List machines |
uc machine update NAME --public-ip IP |
Update public IP for ingress |
uc machine rm NAME |
Remove machine |
Key init flags: --name, --network 10.210.0.0/16, --no-caddy, --no-dns, --public-ip auto\|IP\|none
Services
| Command | Purpose |
|---|---|
uc service ls / uc ls |
List services |
uc service run IMAGE |
Run a single container service |
uc deploy |
Deploy from compose.yaml |
uc deploy --no-build |
Deploy already-pushed images without rebuilding |
uc deploy --recreate |
Force service recreation |
uc scale SERVICE N |
Set replica count |
uc service logs SERVICE |
View logs |
uc service exec SERVICE |
Shell into container |
uc service inspect SERVICE |
Detailed info |
uc service rm SERVICE |
Remove service (keeps named volumes) |
uc ps |
All containers across cluster |
Images
uc image push myapp:latest # Push local image to all machines
uc image push myapp:latest -m machine1,machine2 # Push to specific machines
uc images # List images in cluster
Volumes
uc volume ls # All volumes
uc volume ls -m machine1 # On specific machine
uc volume create NAME -m MACHINE
uc volume rm NAME
Caddy
uc caddy config # Show current generated Caddyfile (read-only)
uc caddy deploy # Deploy/upgrade Caddy across cluster
DNS & Context
uc dns show # Show reserved *.uncld.dev domain
uc dns reserve # Reserve a new domain
uc ctx ls # List cluster contexts
uc ctx use prod # Switch context
Port Publishing
HTTP/HTTPS (via Caddy reverse proxy)
-p [hostname:]container_port[/protocol]
| Example | Meaning |
|---|---|
-p 8080/https |
HTTPS with auto service-name.cluster-domain hostname |
-p app.example.com:8080/https |
HTTPS with custom hostname |
-p 8080/http |
HTTP only, no TLS |
TCP/UDP (host-bound, bypasses Caddy)
-p [host_ip:]host_port:container_port[/protocol]@host
| Example | Meaning |
|---|---|
-p 5432:5432@host |
TCP 5432 on all interfaces |
-p 127.0.0.1:5432:5432@host |
TCP 5432 loopback only |
-p 53:5353/udp@host |
UDP |
Compose File Extensions
Uncloud adds these extensions on top of Docker Compose:
x-ports — publish ports with domains
services:
app:
image: app:latest
x-ports:
- example.com:8000/https
- www.example.com:8000/https
- api.example.com:9000/https
…
FAQ
What is an Uncloud cluster?
It's a set of computers working together, managed by Uncloud, to run your applications in a decentralized and secure way.
What is Caddy?
It's a program that manages internet access to your services, handling things like security certificates (HTTPS) automatically.
How does Uncloud connect the machines?
It uses a technology called WireGuard to create a secure, private network between all the machines in the cluster.
Details
Original description by the author
Use when managing an Uncloud cluster — deploying services, configuring Caddy ingress, adding static proxy routes for non-cluster devices, publishing ports, scaling, inspecting logs, or managing machines and volumes with the `uc` CLI.
repo: affaan-m/ECC
Popularity
- GitHub stars
- 280k
- Ranking position
- #304
- License
- MIT
- Updated
- 10/15/2026
Comments
- …
More skills from this repository
accessibility
Helps your agent create interfaces that everyone can use. Ensures websites and apps work well for people with disabilities, like those who are blind or have reduced mobility.
affaan-m/ECC
agent-architecture-audit
Makes your agent check if everything is working correctly. It finds and fixes problems in AI systems, ensuring they perform as expected.
affaan-m/ECC
agent-eval
Helps your agent compare different AI coding tools. It measures which one is faster, cheaper, and more reliable for specific tasks.
affaan-m/ECC
agent-harness-construction
Makes your agent better understand how to perform tasks. It optimizes the tools and instructions the agent uses to increase its chances of success.
affaan-m/ECC
Similar skills
git-workflow-and-versioning
Organizes code work using Git. Helps save progress, manage different versions, and avoid conflicts when working in a team.
addyosmani/agent-skills
observability-and-instrumentation
Adds tools to monitor what the code does in production. Helps understand if something went wrong and why, making fixes easier.
addyosmani/agent-skills
github-pr-workflow
Prepares GitHub pull requests, ensuring code quality and documentation.
paperclipai/paperclip