MiniLabHQ
Two silver mini PCs, one with a blue USB stick and Ethernet cable to a small black network switch, beside a RAM module and NVMe SSD for a Proxmox build
guides

How to Set Up Proxmox on N100 Mini PCs (VE 9.2 Guide)

Install Proxmox VE 9.2 on an Intel N100 mini PC: BIOS, ext4 vs ZFS, repos, microcode, powersave governor, i226-V fixes, first LXC and backups.

By MiniLabHQ Editorial · · 8 min read

Here is how to set up Proxmox on N100 mini PC hardware: enable VT-x and VT-d in the BIOS, flash the Proxmox VE 9.2 ISO to USB, install to the NVMe with ext4, switch to the no-subscription repository, set the CPU governor to powersave, then run your services as LXC containers with nightly backups to a NAS.

Below: the order, the N100 quirks that eat evenings, and the restore drill nobody runs until month nine. Proxmox VE 9.2 is current, released in May 2026 on Debian 13.5 with kernel 7.0 as the default, per the official announcement.

Who this is for, and who should skip it

This is for someone with one N100 box, 16GB of RAM, a single NVMe drive and ideally a NAS to back up to, who wants snapshots and a few isolated guests. Budget an evening for the host and another hour for the first restore test.

Skip Proxmox if everything you run fits in one docker-compose file. Bare-metal Debian plus compose is lighter and has one fewer layer to patch; the $200 N100 build shows that route. Skip it too if the plan is three Windows VMs. Four cores and a single memory channel run out fast, as the N100 VM-count breakdown explains.

Which N100 mini PCs work with Proxmox?

Any N100 mini PC with an NVMe slot and a SODIMM slot runs Proxmox fine. The chip is identical everywhere: Intel’s spec page lists 4 cores, 4 threads, 6W TDP, VT-x, VT-d, one memory channel and a 16GB official ceiling. What differs is the NIC, the storage and the firmware.

  • Beelink Mini S12 Pro. One SODIMM, one M.2, a gigabit Realtek NIC on the in-kernel r8169 driver; it works out of the box. In one Proxmox forum thread, an S12 Pro host froze under heavy LXC traffic and the culprit was an Apple AirPort Extreme used as a switch. Check the cheap switch before blaming the driver.
  • GMKtec NucBox G3 Plus. The N150 sibling of the N100 G3. GMKtec lists an Intel i226-V 2.5GbE port, one DDR4 SODIMM (vendor-rated to 32GB, above Intel’s figure) and a second M.2 slot, handy for a separate data drive.
  • CWWK/Topton fanless 4x i226-V boxes. ServeTheHome’s review ran Proxmox VE on one; some commenters needed C-states off to stop hangs, which is a last resort, not step one.

Avoid any box whose only storage is eMMC: the stock installer fails on it, and a Proxmox staff member wrote in a forum thread that Proxmox VE “is not made for install on USB/eMMC/CFCard or equal.” Still shopping? Start with the Proxmox hardware tiers.

Step 1: BIOS settings before the USB stick goes in

Turn on VT-x and VT-d, set UEFI-only boot, set power-on after AC loss, and leave C-states enabled. The installation requirements make Intel VT mandatory. The full pass, including Wake-on-LAN and boot-order pruning, is in the 24/7 BIOS checklist.

Step 2: Install Proxmox VE 9.2

Download the ISO from Proxmox and write it raw. For a version that is not specific to N100 hardware, ProxmoxGuide has a full Proxmox VE install walkthrough. On Linux:

lsblk   # identify the USB stick first
dd bs=1M conv=fdatasync if=./proxmox-ve_*.iso of=/dev/sdX

On Windows, use Etcher, or Rufus in DD mode as the install docs insist. Boot the stick, take the graphical installer, and get two choices right:

  • Filesystem: ext4. You get an LVM-thin pool, local-lvm, that supports snapshots and snapshot-mode backups. ZFS on one disk detects corruption it cannot repair, and the docs budget roughly 1GB of RAM per TB of used storage for it.
  • Hostname as an FQDN, such as pve.home.arpa, and a static IP outside your DHCP pool. A hypervisor that wanders between addresses is a bad evening.

After the reboot, the web UI is at https://<your-ip>:8006. Log in as root.

Step 3: Repositories, updates and microcode

A fresh host points at the enterprise repository, which needs a subscription, so apt update throws errors. Disable it under Node → Updates → Repositories (the enterprise Ceph entry too), and create /etc/apt/sources.list.d/proxmox.sources in the deb822 format the repository docs specify:

Types: deb
URIs: http://download.proxmox.com/debian/pve
Suites: trixie
Components: pve-no-subscription
Signed-By: /usr/share/keyrings/proxmox-archive-keyring.gpg

Update with full-upgrade, never plain upgrade; the admin guide explains that only full-upgrade can remove packages to satisfy dependencies:

apt update && apt full-upgrade
apt install intel-microcode
reboot
grep microcode /proc/cpuinfo | uniq

Debian’s non-free-firmware component is already enabled on 9.x, so no source edits are needed. Per the firmware updates page, OS-loaded microcode is the fallback when a board vendor stops shipping BIOS updates.

The popular community-scripts post-install script automates the repository swap and hides the subscription nag. It is convenient. Read it before you pipe it into a root shell on your hypervisor.

Step 4: N100 tuning, the governor and the NIC

Proxmox ships with the performance CPU governor, so an idle N100 sits at high clocks. The usual fix in a long-running Proxmox forum thread is switching to powersave, which under intel_pstate still boosts on demand. Make it survive reboots:

cat > /etc/systemd/system/cpu-powersave.service <<'EOF'
[Unit]
Description=Set CPU governor to powersave

[Service]
Type=oneshot
ExecStart=/bin/sh -c 'echo powersave | tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor'

[Install]
WantedBy=multi-user.target
EOF
systemctl enable --now cpu-powersave.service

Confirm the change with a wall meter using the idle-wattage method, and compare against the N100 power figures.

Intel i226-V link drops. If a 2.5GbE i226-V port flaps or dies under load, the solved NUC14 thread traced it to PCIe ASPM and NVMe power states clashing with the igc driver. Start with the cheap fix, Energy Efficient Ethernet off, in /etc/network/interfaces:

iface vmbr0 inet static
        # existing address, gateway and bridge-ports lines stay as they are
        post-up /usr/sbin/ethtool --set-eee enp1s0 eee off

Use the physical port named in bridge-ports. If the link still drops, the same thread escalates to pcie_aspm=off nvme_core.default_ps_max_latency_us=0 on the kernel command line plus ASPM off in the BIOS, which costs idle watts. Per the bootloader docs, parameters go in /etc/default/grub (then update-grub) on ext4 installs, or /etc/kernel/cmdline (then proxmox-boot-tool refresh) on ZFS installs booting with systemd-boot.

Step 5: The first guest

Put services in an unprivileged LXC container, the default for new containers per the container toolkit docs. On most N100 boxes, one Debian LXC running Docker and your compose stacks is the right shape:

pveam update
pveam available --section system | grep debian-13
pveam download local debian-13-standard_<version>_amd64.tar.zst

pct create 101 local:vztmpl/debian-13-standard_<version>_amd64.tar.zst \
  --hostname docker \
  --cores 4 --memory 6144 --swap 512 \
  --rootfs local-lvm:32 \
  --net0 name=eth0,bridge=vmbr0,ip=dhcp \
  --unprivileged 1 --features nesting=1,keyctl=1 \
  --onboot 1
pct start 101 && pct enter 101

Use the exact template filename pveam available prints. Inside, set a root password, install Docker from Docker’s apt repository and copy your compose files over.

The trade-off: Proxmox’s docs still recommend a QEMU VM for nested containers when you need maximum isolation, at a RAM cost an LXC avoids. On 16GB, the LXC is the pragmatic call; give internet-facing services a VM. See the LXC vs VM guide for that split and the Plex LXC walkthrough for Quick Sync in a container.

Storage and backups

Backing up guests to the same NVMe they live on protects you from nothing. Add the NAS as NFS storage, which the backup docs name as a good target alongside Proxmox Backup Server:

pvesm add nfs nas-backup --server 192.168.1.20 \
  --export /volume1/proxmox --content backup

Then create a job under Datacenter → Backup: all guests, nightly, snapshot mode, zstd compression, and retention such as keep-daily=7,keep-weekly=4. These jobs back up guests, not the host, so copy /etc/network/interfaces and anything else you changed under /etc somewhere off the box.

The restore drill. Do it once, now, before you need it:

pct restore 901 /mnt/pve/nas-backup/dump/vzdump-lxc-101-<timestamp>.tar.zst \
  --storage local-lvm --unique 1
pct set 901 --hostname restore-test
pct start 901

--unique gives the copy a fresh MAC so it does not fight the original on the network. Confirm a service answers, then pct destroy 901. For where a second drive physically fits, see mini PC storage options.

Networking: never port-forward 8006

Keep the Proxmox UI off the internet and reach 8006 over a Tailnet instead, with Tailscale on the host or in a small LXC. An unprivileged container needs the TUN device; Tailscale’s LXC guide adds two lines to /etc/pve/lxc/<CTID>.conf, then a full stop and start of the container:

lxc.cgroup2.devices.allow: c 10:200 rwm
lxc.mount.entry: /dev/net/tun dev/net/tun none bind,create=file

For a trusted certificate on 8006, the built-in ACME client can use a DNS-01 challenge (see the certificate docs), so nothing needs to be reachable from outside. Cloudflare Tunnel suits a web app behind Caddy in the Docker LXC, not a hypervisor login page.

Operations: updates, logs and alerts

Update the host by hand, roughly weekly, with apt update && apt full-upgrade, and reboot when a new kernel lands. Skip unattended upgrades on the hypervisor; you want to be awake when the kernel changes. Inside the Docker LXC, pin image tags and update deliberately rather than letting Watchtower restart everything at 3 a.m.

Set a notification target under Datacenter → Notifications so a failed backup job reaches you, and skim journalctl -b -p warning after each kernel update. A small UPS rides out the blips that corrupt things; the UPS sizing math is short.

FAQ

is 16gb of ram enough for proxmox on an n100

Yes, 16GB is enough for the host plus a Docker LXC, a DNS container and one small VM. Proxmox’s install docs recommend 2GB for the OS and its services plus whatever you assign guests. Memory runs out before CPU on these boxes, so favor LXC containers and skip ZFS unless you need replication.

should i use zfs or ext4 for proxmox on a mini pc

Use ext4 on a single-NVMe mini PC. It gives you LVM-thin storage with snapshots and leaves RAM for guests. ZFS adds checksums, compression and replication, but on one disk it cannot repair what it detects, and its cache competes with your guests for memory. Pick ZFS when you add a second disk or replication target.

can you install proxmox on emmc storage

Not with the stock installer, and Proxmox advises against it. The installer fails on eMMC devices, and staff have said Proxmox VE is not made for eMMC because it writes gigabytes of logs daily. Community patches exist, but on an N100 box, fit a cheap NVMe or SATA SSD and install there instead.

do i need a proxmox subscription for a homelab

No. Every feature works without a subscription; you switch to the free no-subscription repository and accept a login reminder. Proxmox describes that repository as less heavily tested and not recommended for production. A subscription buys enterprise repository access and funds the project, which is reason enough for plenty of homelabbers.

Sources

  1. Proxmox Virtual Environment 9.2 available (official announcement)
  2. Proxmox VE installation guide
  3. Proxmox VE package repositories
  4. Proxmox VE system administration (software updates)
  5. Proxmox VE firmware and microcode updates
  6. Proxmox VE host bootloader
  7. Proxmox Container Toolkit (pct)
  8. Proxmox VE backup and restore (vzdump)
  9. Proxmox VE certificate management (ACME)
  10. Intel Processor N100 specifications
  11. GMKtec NucBox G3 Plus specifications
  12. ServeTheHome: Fanless Intel N100 firewall and virtualization appliance review
  13. Proxmox forum: Intel I226-V connection loss on ASUS NUC14 (solved)
  14. Proxmox forum: Network traffic in LXC brings PVE host down (Beelink S12 Pro)
  15. Proxmox forum: Fix always-high CPU frequency on a Proxmox host
  16. Proxmox forum: Installing to eMMC (mmcblk0) fails
  17. Tailscale: Tailscale in LXC containers

Related