I built a home lab with Canonical MicroCloud, and it works better than I expected
I built a home lab with Canonical MicroCloud, and it works better than I expected
Homepage   /    environment   /    I built a home lab with Canonical MicroCloud, and it works better than I expected

I built a home lab with Canonical MicroCloud, and it works better than I expected

🕒︎ 2025-11-03

Copyright XDA Developers

I built a home lab with Canonical MicroCloud, and it works better than I expected

As someone who loves working on server projects, I always keep my eyes out for virtualization platforms and containerization tools – even more so when the tools are fairly obscure. Take SmartOS, for example, which offers solid Jail and VM support, and is my top choice for building Unix-like servers. Or even XCP-ng and Harvester, which are quite the underdogs in the home lab landscape. So, you can imagine my pleasure when I stumbled upon Canonical’s MicroCloud. Rather than running as a full-fledged distribution, MicroCloud aggregates my favorite home lab-centric services and ships them inside a neat UI. I won’t say that it doesn’t have any issues, but it’s a solid change of pace from the usual server-oriented platforms. What’s MicroCloud, anyway? It’s a collection of multiple server-oriented services In simple terms, MicroCloud is a server-oriented platform that lets you arm any Linux distribution with all the tools you’ll need to build a solid cluster capable of running both VMs and containers. But instead of setting it up like a conventional distro, you’ll have to deploy Canonical MicroCloud on top of an existing operating system – preferably one without the extra processing overhead of a GUI. At its center, MicroCloud relies on LXD, a lightweight virtualization platform that can run both containers and virtual machines. As such, you don’t have to configure separate container runtimes and virtualization services for your home lab. However, MicroCloud’s strength lies in its integration with other server utilities, including clusters and network stacks. MicroCeph – a simplified version of the all-powerful Ceph – is responsible for offering distributed storage for your clusters, while MicroOVN lets you manage your virtual networks, bridges, and other aspects of the SDN stack. And the best part? Despite being rather obscure in the home lab ecosystem, it’s extremely easy to get an instance of MicroCloud up and running. It’s surprisingly easy to deploy Building a cluster is a cakewalk on MicroCloud Before I describe the setup process for MicroCloud, I’ll quickly go over the underlying OS and hardware I used for this experiment. Since it’s developed by Canonical, I figured MicroCloud would go well with Ubuntu Server, a CLI-heavy version of the uber-popular Linux distribution. Now, I could’ve gone with something more lightweight like DietPi, but contrary to popular opinion, the Server version of Ubuntu is nowhere near as bloated as its GUI counterpart. I started off by installing Ubuntu Server on the system, which is fairly simple thanks to an intuitive menu-based interface. I went with the default options for most of the settings, but opted to enable OpenSSH, as that would let me access the Ubuntu Server instance from my PC. Once the installation was complete, I entered the IPv4 address of the soon-to-be MicroCloud host into PuTTY. Since Ubuntu Server ships with Snap, I ran the following commands to grab the necessary packages for my MicroCloud instance: sudo snap install lxd --cohort="+" sudo snap install microceph --cohort="+" sudo snap install microovn --cohort="+" sudo snap install microcloud --cohort="+" Enabling MicroCloud was just as simple, as all I had to do was run sudo microcloud init and pick the right network settings for my host. Since I prefer web UIs to terminal commands for managing virtual guests, I entered the IPv4 address of my Ubuntu Server on a web browser and added a colon (:) and port number 8443. Once I was in the web UI, I executed the lxc auth identity create tls/lxd-ui --group admins command via PuTTY to generate a token and pasted it inside the browser. MicroCloud works well in a cluster environment, so I figured I could try adding extra nodes to the central workstation. I quickly ran the snap commands in the other systems before executing sudo microcloud add on the main node. MicroCloud began detecting them as I ran sudo microcloud join on each node, and soon, I had a 3-node cluster up and running on my home lab. Succinct is the word I’d use to describe its web UI Truth be told, I had some doubts about the web interface before deploying MicroCloud, as I’ve dealt with my fair share of buggy and weirdly arranged UIs on obscure platforms. However, MicroCloud was a pleasant surprise, as every essential setting is clearly laid out in the interface and not hidden behind a bunch of menus. I started things off by creating a new storage pool on the central node and transferring some custom ISO files from my PC. Spinning up the virtual machines was just as easy, as all I had to do was select the right ISO files and assign some disks to them. But what I really appreciate about MicroCloud – or rather, LXD – is that both containers and virtual machines can be created the same way, and many of the official templates let me choose between the VMs and containers images during the initial setup. The performance was just as solid, even with a few GUI virtual machines and containers, though that is to be expected from a lightweight hypervisor running in a cluster environment. It does have a couple of drawbacks Especially if you’re new to the home lab ecosystem So far, I’ve only talked about the perks of MicroCloud, but it has a couple of aspects that I’m not too fond of. If you’ve read my articles, you’d know that I consider backups essential for my home lab. While I could create snapshots for my virtual guests, MicroCloud doesn’t include a dedicated backup utility like Proxmox, XCP-ng (the custom built XO version, I mean), or other virtualization platforms. Since we’re on the subject, Proxmox has a plethora of ingenious community scripts – many of which make LXC deployment a cakewalk. Although MicroCloud includes several container and VM templates, you’ll have to manually install every service, which can be somewhat challenging for a newcomer to the self-hosting landscape. But if you’re looking for a lightweight, no-nonsense platform that can offer terrific clustering support without compromising on the performance front, Canonical’s MicroCloud is a rock-solid recommendation.

Guess You Like

Asean summit: Torn between China and the US
Asean summit: Torn between China and the US
At the summit of the Associati...
2025-10-28