Requirements
Uncloud runs on bare metal servers or virtual machines. Here’s what you need.
Minimum Hardware
Single-Node (Development/Testing)
| Resource | Minimum |
|---|
| CPU | 4 cores |
| RAM | 8 GB |
| Disk | 100 GB SSD |
| Network | 1 Gbps |
| OS | Ubuntu 22.04 LTS |
Production (3-Node Cluster)
| Resource | Per Node |
|---|
| CPU | 8+ cores |
| RAM | 32+ GB |
| Disk | 500 GB NVMe SSD |
| Network | 10 Gbps |
| OS | Ubuntu 22.04 LTS / Debian 12 |
For KubeVirt (VM support), nodes must have hardware virtualization enabled (Intel VT-x or AMD-V). Verify with egrep -c '(vmx|svm)' /proc/cpuinfo.
Software Requirements
Required
| Software | Version | Purpose |
|---|
| Go | 1.21+ | Backend compilation |
| Node.js | 18+ | Frontend build |
| kubectl | 1.28+ | Kubernetes CLI |
Installed by Provisioner
These are installed automatically by the Uncloud admin setup:
| Component | Purpose |
|---|
| K3s | Lightweight Kubernetes |
| KubeVirt | Virtual machine management |
| Rook/Ceph or Longhorn | Storage provisioner |
| Cilium | CNI / networking |
| CoreDNS | DNS resolution |
| Metrics Server | Resource metrics |
| Prometheus | Monitoring |
| CloudNativePG | PostgreSQL operator |
Network Requirements
| Port | Protocol | Purpose |
|---|
| 80 | TCP | HTTP (redirects to HTTPS) |
| 443 | TCP | HTTPS |
| 6443 | TCP | Kubernetes API |
| 8080 | TCP | Uncloud API |
| 5173 | TCP | Frontend dev server |
| 30000-32767 | TCP | Kubernetes NodePorts |
Supported Operating Systems
| OS | Version | Status |
|---|
| Ubuntu | 22.04 LTS | Recommended |
| Ubuntu | 20.04 LTS | Supported |
| Debian | 12 | Supported |
| Debian | 11 | Supported |
| Rocky Linux | 9 | Supported |
Optional: External DNS
For custom domains and automatic TLS:
- A domain name pointing to your server(s)
- Wildcard DNS record for app subdomains (e.g.,
*.apps.example.com)
- Port 80/443 open to the internet