nano·cloud Demo GitHub

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

FeatureOn a Mac
Guestsarm64 Linux; the catalogue lists only arm64 images
ConsoleA serial console in the browser, no graphical one
NetworkingNAT (192.168.64.0/24). No bridge or VLAN yet
Service addressesForwarded from ports on the Mac, such as localhost:30432
SnapshotsInstant APFS clones of the disks; memory isn't saved
Passthrough, CPU pinning, Secure Boot, TPMNot available; always UEFI
Per-VM CPU and memory graphsNot available; the framework doesn't report them
Restarting or updating the daemonVMs 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