uncloudd daemon and participates in the distributed cluster state.
Adding machines
Add a new machine to your existing cluster usinguc machine add:
SSH connection methods
Uncloud supports two ways to connect to machines:ssh+cli:// scheme uses your system’s SSH client, which is useful when you need features like ProxyJump for bastion hosts or specific SSH configuration.
Common options
Specify a custom name:~/.ssh/id_rsa or uses your SSH agent.
Set the public IP address:
--public-ip none or --public-ip '' to disable ingress on a machine.
Skip Caddy deployment:
Listing machines
View all machines in your cluster:- NAME: Machine name
- STATE: Current state (Up, Down, etc.)
- ADDRESS: The machine’s WireGuard IP and subnet
- PUBLIC IP: Public IP for ingress (if configured)
- WIREGUARD ENDPOINTS: Network addresses where other machines can reach this machine
- MACHINE ID: Unique identifier
Updating machines
Update machine configuration usinguc machine update:
Rename a machine
Change the public IP
Update WireGuard endpoints
When a machine’s network configuration changes, you can update its WireGuard endpoints:IP- Uses default WireGuard port 51820IP:PORT- Explicit portIPv6or[IPv6]:PORT- IPv6 addresses
Update multiple properties
You can update multiple properties in a single command:Removing machines
Remove a machine from your cluster:- Stops and removes all service containers on the machine
- Removes the machine from the cluster state
- Resets the machine to its pre-initialized state (removes WireGuard config, Docker network, etc.)
- Removes the connection from your Uncloud config file
Remove without resetting
If you want to remove a machine from the cluster but keep containers and data intact:What happens when I remove a machine?
What happens when I remove a machine?
When you run
uc machine rm, Uncloud:- Lists all service containers running on the machine
- Gracefully stops each container with a timeout
- Removes containers and their anonymous volumes
- Removes the machine from the distributed cluster state
- Calls the machine’s reset API to clean up:
- WireGuard interface and configuration
- Docker bridge network
- Corrosion (distributed database) state
- Systemd services
- Removes the machine’s connection from your local config
Can I remove the machine I'm connected to?
Can I remove the machine I'm connected to?
No. If you’re connected to Connect to a different machine first:The exception is if
machine1 and try to run uc machine rm machine1, you’ll get an error:machine1 is the last machine in the cluster. In that case, removal is allowed.Machine maintenance
Updating the Uncloud daemon
To update the Uncloud daemon on a machine:- SSH into the machine
- Download and run the installation script:
Checking daemon status
SSH into a machine and check the daemon:Restarting services
Restart the Uncloud daemon:SSH access patterns
Direct connection
Connect to a specific machine for a single command:Using contexts
Contexts store connection information for your clusters. List available contexts:Custom SSH ports
If your machine uses a non-standard SSH port:Non-root users
Use a non-root user with sudo access:Machine networking
Each machine gets a unique/24 subnet from the cluster’s network range (default 10.210.0.0/16):
- First machine:
10.210.0.0/24 - Second machine:
10.210.1.0/24 - Third machine:
10.210.2.0/24 - And so on…
.1is the machine’s WireGuard interface IP.2to.254are for container IPs
Next steps
DNS Management
Configure managed DNS and custom domains
Caddy Proxy
Set up HTTPS ingress with Caddy
