Checking sign-in…

Hardware requirements · NUC setup

IncusOS on Intel NUC

Install IncusOS on an Intel NUC or x86 mini PC — a minimal OS built for Incus. Recommended mesh host path.

Prerequisites

  • BIOS updated
  • x86_64 NUC, 5 years old or newer
  • UEFI + Secure Boot + TPM 2.0
  • 50 GB+ NVMe, wired Ethernet
  • USB 8 GB+ for install media
  • Incus CLI on your laptop

1 — Build the image

Open the IncusOS Customizer and use these settings for a typical NUC:

SettingValue
Image typeUSB · Installation · x86_64 · Incus
Wipe target driveEnabled
Auto reboot after installEnabled
Target drive identifiernvme- (typical M.2 SSD)
Client certificateEmbed your laptop cert (see below)

Embed client certificate

So your laptop can connect without a trust token on a headless NUC:

incus remote generate-certificate   # if needed
incus remote get-client-certificate  # paste into customizer

2 — Write USB

Manual: Write the downloaded .img to USB (Etcher, dd).

Windsor workspace:

windsor init nuc-incusos
windsor context set nuc-incusos
# INCUS_IMAGE_FILE, USB_DISK, INCUS_REMOTE_IP in windsor.yaml
task device:prepare-incus-image
task device:write-incus-disk
task device:eject-disk

3 — Prepare NUC

Wipe old OS (if reinstalling)

Boot Ubuntu Live USB → Try Ubuntu → sudo wipefs -a /dev/nvme0n1 (confirm correct disk).

Secure Boot (F2 BIOS)

  1. Secure Boot → Custom mode
  2. Reset to Setup Mode
  3. Boot priority → USB first

4 — Install

  1. Insert USB, Ethernet connected, power on
  2. Boot from USB (F10 if needed)
  3. Wait for automatic install to internal NVMe
  4. Note LAN IP from router DHCP list after reboot
  5. Remove USB

5 — Connect from laptop

incus remote add my-nuc https://192.168.2.101:8443
incus remote list
incus list my-nuc:

6 — Direct network for VMs (required for mesh)

Talos and VPN VMs need LAN IPs. Add instances role to your physical interface:

incus admin os system network show
incus admin os system network edit
# Under config.interfaces → your eno1/eth0 → roles: [management, cluster, instances]

Then create a physical network (Windsor: task incus:create-physical-network).

7 — ZFS fast pool (recommended)

If the NUC has a second disk, create a fast pool for VM disks:

incus admin os system storage show
# Use second drive id (boot: false, no member_pool)
incus storage create fast zfs source=/dev/disk/by-id/<second-disk-id>

Single-disk NUCs can run VMs on local with less space.

8 — Web UI (optional)

Open https://<nuc-ip>:8443 — generate browser cert on first visit per on-screen steps.

Verify mesh host ready

  • incus list <remote>: from workstation
  • Physical network exists for VM deploy
  • Tracker step 3 complete

Troubleshooting

  • Secure Boot fails — Custom mode + reset setup mode; or temporarily disable to test
  • Wrong disk — Customizer target nvme-; check /dev/disk/by-id/
  • zpool import local fails — Wrong install target or TPM change; may need reinstall with correct drive id
  • DNS / image pull fails — Set resolvers on host (8.8.8.8) if 127.0.0.53 times out
  • fast pool "part of local" — Wipe second disk: incus admin os system storage wipe-drive

Continue — mesh host step Ubuntu path instead