Setting Up MicroCloud at Home is Easier Than You Think!
Canonical MicroCloud Setup and Walkthrough Summary
đź§© Overview
- MicroCloud is a lightweight, self-hosted private cloud by Canonical (the makers of Ubuntu).
- It combines LXD, MicroCeph, and MicroOVN into one automated stack.
- Designed for edge computing, homelabs, and small enterprise environments.
- Provides high-availability compute, storage, and networking — without the complexity of OpenStack or Kubernetes.
⚙️ System Requirements
Minimum
- 8 GB RAM per node
- One local disk (no partitions)
- One network interface
- Ubuntu 22.04 LTS or newer
Production Recommended
- 3 physical nodes for HA
- 32 GB RAM per node
- 3 disks per node (OS, local storage, distributed storage) — NVMe recommended
- 2x 10Gb network interfaces per node (cluster + uplink)
đź’ˇ For production: deploy on bare metal, separate networks for Ceph and OVN.
đź§ Planning the Deployment
- Prepare a worksheet noting each node’s:
- IP address
- Network interface assignments
- Disk setup
- Configure your nodes’ base OS and networking before installing MicroCloud.
🚀 Installation Steps
Pre-Work
Your installation targets must have at least Ubuntu 22.04 LTS or newer installed and updated before attempting to install MicroCloud
1. Install MicroCloud Components
sudo snap install lxd microceph microovn microcloud --cohort="+"
2. Prevent Auto-updates
sudo snap refresh lxd microceph microovn microcloud --hold
3. Initialize the First Node
sudo microcloud init
- Configure internal network.
- Select local and distributed storage disks.
- Assign Ceph subnets (internal/public).
- Wait for initialization to finish.
đź§© Expanding the Cluster
- On first node:
sudo microcloud add - On each new node:
sudo microcloud join - Provide cluster passphrase, select network interfaces, and assign disks.
- Wait for nodes to sync and complete setup.
🖥️ Accessing the GUI (LXD UI)
- Access via:
https://<node-IP>:8443 - Accept self-signed certificate.
- Authenticate using certificate-based identity:
lxc auth identity create tls/lxd-ui --group admins - Copy the generated token and paste it into the web UI.
🔍 LXD UI Tour
-
Dashboard Layout
Left navigation panel with detailed sections per service area.
Core Sections
- Instances: Manage containers and VMs.
- Profiles: Define hardware and configuration templates.
- Networks: Manage bridges, VLANs, and ACLs (acts as firewalls).
- Storage: Manage pools, volumes, and S3-compatible buckets.
- Images: Base OS templates for launching workloads.
- Clustering: View nodes, groups, operations, and warnings.
- Permissions: Manage identities, groups, and IDP integrations.
- Settings: Control global options (including dark mode).
đź§± Creating Your First Instance
- Click “Create Instance.”
- Name and optionally describe it.
- Choose an image (e.g., Ubuntu 24.04 LTS).
- Set as container or VM.
- Select desired cluster node or group.
- Apply a profile (e.g., custom disk size).
- Click “Create and Start.”
You can then:
- Manage configuration (disks, network, GPU passthrough).
- Use Terminal or Console to access the instance.
- View logs and snapshots within the GUI.
đź’¬ Final Thoughts
👍 Pros
- Easy to deploy — runs with a few commands.
- Intuitive, clean LXD UI.
- Huge catalog of Linux images (even Windows supported).
- Supports GPU, USB, PCI passthrough.
- Great for homelab and small-scale production environments.
👎 Cons
- Documentation clarity needs improvement.
- Lacks built-in monitoring — requires Prometheus/Grafana.
- GUI only supports certificate-based login (no basic user/password option).
đź”— Learn More
Visit Canonical MicroCloud for details, documentation, and setup guides.
Summary:
Canonical’s MicroCloud is a simplified yet powerful private cloud platform. It provides automated setup for compute, storage, and networking using familiar Ubuntu tools, making it ideal for homelabbers and IT professionals seeking private cloud efficiency with minimal complexity.