Skip to content
Skillpedia
Deploy & cloud (DevOps)280k · #304

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

https://github.com/affaan-m/ECC/blob/main/skills/uncloud/SKILL.md

Ready-to-paste message

Use this skill to help me: https://github.com/affaan-m/ECC/blob/main/skills/uncloud/SKILL.md Read the SKILL.md file at that link and follow its instructions for my task.
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 uncloud

Or download just the file:

curl -L https://raw.githubusercontent.com/affaan-m/ECC/main/skills/uncloud/SKILL.md -o SKILL.md
Technical 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/16 by default; DNS provided inside the mesh
  • Caddyfile is autogenerated — never edit it directly; use x-caddy / --caddyfile instead

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

Is this skill useful?

0

Sign in to vote.

Comments

  • …

More skills from this repository

Similar skills