Tutorial

Install Proxmox VE 9 on an Intel N100 Mini PC

Turn a 6 W mini PC into a 24/7 homelab hypervisor: install Proxmox VE 9, switch to the no-subscription repository, pass the iGPU to a Jellyfin container and tune idle power.

Beginner ⏱ 45 minutes 6 steps

What you need

  • Intel N100 / N305 mini PC with at least 16 GB RAM and an NVMe SSD
  • 8 GB+ USB stick
  • Keyboard and monitor for the first boot
  • Wired Ethernet connection to your router

1Write the installer to USB

Download the latest Proxmox VE 9 ISO from proxmox.com. On macOS or Linux, find your USB device (diskutil list / lsblk) and write the image. Double-check the device name — dd overwrites it completely.

Linux
lsblk
sudo dd if=proxmox-ve_9.*.iso of=/dev/sdX bs=4M status=progress conv=fsync
macOS
diskutil list
diskutil unmountDisk /dev/diskN
sudo dd if=proxmox-ve_9.*.iso of=/dev/rdiskN bs=4m

2Prepare the BIOS

Enter the BIOS (usually Del or F7 on boot). Enable Intel Virtualization Technology (VT-x) and VT-d, set the power-loss behaviour to "Power On" so the node recovers after an outage, and put the USB stick first in the boot order.

3Run the installer

Choose the graphical installer, select the NVMe SSD as the target (ext4 is fine for a single disk; ZFS needs more RAM), then set a static IP, gateway and DNS on your LAN. Once it reboots, open https://<your-ip>:8006 and log in as root.

4Switch to the no-subscription repository

Without a subscription the enterprise repository returns errors on update. Proxmox VE 9 (Debian 13 "Trixie") uses deb822 .sources files. Disable the enterprise repo and add the no-subscription one, then update.

/etc/apt/sources.list.d/proxmox.sources
Types: deb
URIs: http://download.proxmox.com/debian/pve
Suites: trixie
Components: pve-no-subscription
Signed-By: /usr/share/keyrings/proxmox-archive-keyring.gpg
Shell
echo 'Enabled: no' >> /etc/apt/sources.list.d/pve-enterprise.sources
apt update && apt full-upgrade -y
NoteDo the same for the Ceph enterprise repository (ceph.sources) if it is present and you don't use Ceph.

5Pass the iGPU to a Jellyfin or Plex container

Quick Sync lets the N100 transcode several streams at a few watts. Create an LXC container for your media server, then give it access to the render node. Check the render group ID inside the container first — it differs between distributions.

On the host
ls -l /dev/dri
# card0  renderD128
Inside the container
getent group render
# render:x:104:
/etc/pve/lxc/<CTID>.conf
dev0: /dev/dri/renderD128,gid=104
NoteYou can also add the device from the GUI: Container → Resources → Add → Device Passthrough.

6Tune idle power

Let powertop apply its tunables at boot, and confirm the CPU governor is powersave (on Intel this still boosts on demand). A tuned N100 node typically idles in the single-digit watts.

Shell
apt install -y powertop
powertop --auto-tune
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
/etc/systemd/system/powertop.service
[Unit]
Description=Powertop tunings

[Service]
Type=oneshot
ExecStart=/usr/sbin/powertop --auto-tune

[Install]
WantedBy=multi-user.target
Enable it
systemctl daemon-reload && systemctl enable --now powertop.service
Notepowertop's USB autosuspend can make some keyboards and USB NICs drop out. If that happens, exclude the device or skip auto-tune for USB.