Nano Cloud on a Mac
On an Apple silicon Mac, Nano Cloud runs VMs with Apple's Virtualization framework, which is part of macOS. A Mac is the place to try it; Linux is the place to run it.
The web console, API, image catalogue, cloud-init, templates, clones, services and recovery loop work as they do on Linux. Nothing else is installed: no Homebrew packages, QEMU or libvirt.
Install
brew install gnupg
curl -fsSL https://raw.githubusercontent.com/nanocloud-io/nanocloud/main/install.sh | sudo sh
The installer checks the release's signature with gpg, which macOS doesn't ship. The daemon runs as a root launchd job that starts at boot, before anyone logs in, and serves the console on https://localhost:8080.
What's different
| Feature | On a Mac |
|---|---|
| Guests | arm64 Linux; the catalogue lists only arm64 images |
| Console | A serial console in the browser, no graphical one |
| Networking | NAT (192.168.64.0/24). No bridge or VLAN yet |
| Service addresses | Forwarded from ports on the Mac, such as localhost:30432 |
| Snapshots | Instant APFS clones of the disks; memory isn't saved |
| Passthrough, CPU pinning, Secure Boot, TPM | Not available; always UEFI |
| Per-VM CPU and memory graphs | Not available; the framework doesn't report them |
| Restarting or updating the daemon | VMs keep running; each has its own helper process |
The console hides what a Mac can't do, and the API refuses it before writing anything.
Where things go
| VMs, images, state | /Library/Application Support/nano-cloud |
| Logs | /Library/Logs/nanocloud/ |
| Service | /Library/LaunchDaemons/io.nanocloud.nanocloud.plist |