👍 What we like
- ✓Proxmox VE is free and installs on any x86-64 mini-PC with VT-x
- ✓Full web interface to manage KVM VMs and LXC containers
- ✓Built-in ACME client and two-factor authentication
- ✓Detailed official documentation and command-line tools (pct, pveam, pveum, pvenode)
👎 What to watch
- ✕Wi-Fi is not suitable: a wired Ethernet port is required
- ✕Without a subscription, you must reconfigure the repositories, and the no-subscription repository is not recommended for production
- ✕ZFS needs more RAM, which matters on a modest mini-PC
- ✕A mistake in /etc/network/interfaces can cut off access to the web interface
🏆 Our picks
Affiliate links · same price for youSee all our recommended gear in the shop.
📑 Contents ▾
- 01 Prerequisites
- 02 Step-by-step installation
- · Step 1: Download the ISO and verify its integrity
- · Step 2: Write the ISO to the USB drive
- · Step 3: Prepare the mini-PC’s BIOS/UEFI
- · Step 4: Run the graphical installer
- · Step 5: Set up the no-subscription repositories and update
- · Step 6: Check (or change) the vmbr0 bridge network
- · Step 7: Download a template and create your first LXC container
- · Step 8: Set the password and access the container
- 11 Verification checks
- 12 Security and best practices
- 13 Troubleshooting common errors
- 14 FAQ
- · Is the Minisforum MS-01 an N100 mini-PC?
- · Can I install Proxmox over Wi-Fi only?
- · What are the default credentials?
- · How do I update Proxmox?
- · ext4 or ZFS on a single-SSD mini-PC?
- 20 Read also
- 21 Host this yourself
This guide explains how to install Proxmox VE 9 on an Intel N100 mini-PC: preparing the USB drive, installing, setting up the no-subscription repositories, the vmbr0 network bridge, your first LXC container, and securing the admin interface. Every command comes from the official Proxmox documentation.
A note on hardware: the Minisforum MS-01 shown in this article’s product card is not an N100 mini-PC. Depending on the version, it uses a 12th- or 13th-gen Intel Core i5 or i9 processor. Proxmox VE installs on it in exactly the same way. If you specifically want an N100, get an N100-based mini-PC with a wired Ethernet port: the procedure below is identical.
Prerequisites
According to the official system requirements:
- CPU: 64-bit Intel 64 or AMD64 with hardware virtualization (Intel VT-x or AMD-V). The N100 supports it, but it must be enabled in the BIOS/UEFI. PCIe passthrough also requires an IOMMU (Intel VT-d) to be enabled.
- RAM: at least 2 GB for Proxmox VE itself, plus memory for your VMs and containers. With ZFS, plan for more (the documentation says about 1 GB per TB of used storage).
- Storage: preferably an SSD. The documentation discourages consumer SSDs for production use and recommends models with power-loss protection.
- Network: a wired Ethernet port. Proxmox explicitly advises against Wi-Fi as a hypervisor’s interface: most access points drop the bridge’s frames, and it only works with workarounds.
- A USB drive whose contents will be erased, larger than the ISO.
- A monitor and keyboard connected to the mini-PC for the installation.
- A free IP address on your local network (for example
192.168.1.50/24, with gateway192.168.1.1), adjusted to your network.
Step-by-step installation
Step 1: Download the ISO and verify its integrity
The current release, published on the official download page, is Proxmox VE 9.2-1 (x86-64). Make sure you use the x86-64 (amd64) ISO: the ARM64 build does not work on an N100.
wget https://enterprise.proxmox.com/iso/proxmox-ve_9.2-1.iso
sha256sum proxmox-ve_9.2-1.iso
Check: the hash shown must match the one published on the download page. For 9.2-1, it is 4e88fe416df9b527624a175f24c9aa07c714d3332afb1ee3dbf3879573ef2c6c. If a newer release is out, adjust the filename and compare against the hash listed on the page.
Step 2: Write the ISO to the USB drive
⚠️ This erases everything on the target device. If you pick the wrong disk, you destroy its data.
On Linux, identify the drive first: run lsblk without the drive, plug it in, then run the command again. The new device is the USB drive: check that its size matches.
lsblk -o NAME,SIZE,MODEL,TRAN,MOUNTPOINTS
# Plug in the drive, then:
lsblk -o NAME,SIZE,MODEL,TRAN,MOUNTPOINTS
# Unmount its partitions if they are mounted (replace sdX)
sudo umount /dev/sdX?* 2>/dev/null
# Write the image (replace /dev/sdX with YOUR drive, without a partition number)
sudo dd bs=1M conv=fdatasync if=./proxmox-ve_9.2-1.iso of=/dev/sdX status=progress
- Windows: Etcher works with no special settings. With Rufus, answer No when it offers to download a different GRUB version, then choose DD mode, or the drive will not boot.
- Do not use UNetbootin: the documentation states that it does not work with the Proxmox installer.
Check: run lsblk /dev/sdX again. The drive should now show several partitions created by the image.
Step 3: Prepare the mini-PC’s BIOS/UEFI
Plug in the USB drive and the Ethernet cable, then power on the mini-PC and enter the BIOS. The key depends on the manufacturer (often Del, F2 or F7): check your model’s manual. Then:
- Enable Intel virtualization (often called “Intel Virtualization Technology” or “VMX”) and, if you need it, VT-d.
- Put the USB drive first in the boot order, or use the one-time boot menu.
- Secure Boot can stay on: it only needs to be disabled for installers older than Proxmox VE 8.1.
Check: the Proxmox installer menu appears at boot.
Step 4: Run the graphical installer
Choose Install Proxmox VE (Graphical), then:
- Accept the license (EULA).
- Target disk: ⚠️ the selected disk is wiped completely. Check the model and size shown. The default filesystem is ext4 (on LVM). ZFS is also offered (you can choose it on a single disk), but it needs more memory.
- Country, time zone and keyboard: set them to match your location.
- Root password (at least 8 characters; the documentation recommends 12 or more) and an email address for notifications.
- Management network: select the wired interface (a name starting with
en…, e.g.enp1s0), enter a fully qualified hostname (e.g.pve.home.arpa), the IP address in CIDR notation (192.168.1.50/24), the gateway and the DNS server. - Review the summary, click Install, remove the USB drive and reboot.
Check: from another computer on the same local network, open https://192.168.1.50:8006. Accept the self-signed certificate warning and log in as user root, realm Linux PAM, with the password you chose in step 4. There are no default credentials.
Step 5: Set up the no-subscription repositories and update
The pve-enterprise repository is enabled by default and returns an error without a subscription key. The easiest fix is in the web interface: node → Updates → Repositories. Select the enterprise repositories, click Disable, then Add and choose No-Subscription.
From the command line (node shell or console), Proxmox VE 9 uses the deb822 format (.sources files):
# Add the line "Enabled: no" at the end of each enterprise repository's block
nano /etc/apt/sources.list.d/pve-enterprise.sources
nano /etc/apt/sources.list.d/ceph.sources # if this file exists
# Create the no-subscription repository
cat > /etc/apt/sources.list.d/proxmox.sources <<'EOF'
Types: deb
URIs: http://download.proxmox.com/debian/pve
Suites: trixie
Components: pve-no-subscription
Signed-By: /usr/share/keyrings/proxmox-archive-keyring.gpg
EOF
apt update
apt full-upgrade
Use apt full-upgrade, not apt upgrade: upgrade does not install the new dependencies that Proxmox packages sometimes need. Also note that Proxmox does not recommend the no-subscription repository for production.
Check: apt update should no longer show a 401 Unauthorized error, and pveversion should print the installed version:
apt update 2>&1 | grep -i -E "401|err" || echo "Repositories OK"
pveversion
Step 6: Check (or change) the vmbr0 bridge network
The installer creates a vmbr0 bridge attached to the Ethernet card. It provides network access to both the host and the guests. Never put the IP address directly on the physical card: you would lose the bridge and access to the web interface. Make any change from the mini-PC’s physical console, not over SSH.
ip -br link # actual name of your card (e.g. enp1s0)
cat /etc/network/interfaces
The file should look like this (adjust the card name, address and gateway):
auto lo
iface lo inet loopback
iface enp1s0 inet manual
auto vmbr0
iface vmbr0 inet static
address 192.168.1.50/24
gateway 192.168.1.1
bridge-ports enp1s0
bridge-stp off
bridge-fd 0
If you change the address, also update the matching line in /etc/hosts, then apply with ifupdown2 (installed by default):
nano /etc/network/interfaces
nano /etc/hosts
ifreload -a
DNS is set in node → System → DNS (the /etc/resolv.conf file).
Check:
ip -br addr show vmbr0 # should show 192.168.1.50/24 and UP
ip route | grep default # should show "default via 192.168.1.1 dev vmbr0"
ping -c 3 download.proxmox.com # DNS resolution + Internet access
Step 7: Download a template and create your first LXC container
In the web interface, go to local (storage) → CT Templates → Templates, then use the Create CT button. From the command line, you first need to download the template with pveam:
pveam update
pveam available --section system | grep debian
# Copy the EXACT name shown by the previous command:
pveam download local <debian-template-name>
pveam list local
Then create the container. With a default ext4 install, guest disks go on local-lvm; on ZFS, the storage is called local-zfs.
pct create 200 local:vztmpl/<debian-template-name> \
--hostname ct-test \
--cores 1 --memory 512 \
--rootfs local-lvm:8 \
--net0 name=eth0,bridge=vmbr0,ip=dhcp \
--unprivileged 1 \
--features nesting=1
pct start 200
Step 8: Set the password and access the container
An LXC container has no default credentials. Set the root password from the host, without leaving it in your shell history:
pct enter 200
passwd
exit
After that, you can access the container with pct enter 200 or through the web interface’s Console. Over SSH, the distribution’s configuration may refuse root login with a password: use an SSH key instead (the --ssh-public-keys option at creation) or a dedicated user.
Check:
pct list # 200 should be "running"
pct exec 200 -- ip -4 addr show eth0 # address obtained via DHCP
pct exec 200 -- ping -c 3 deb.debian.org # container network access
Verification checks
pveversion -v | head -n 5 # Proxmox package versions
systemctl is-active pveproxy pvedaemon pve-cluster
egrep -c '(vmx|svm)' /proc/cpuinfo # > 0: hardware virtualization available
ss -tlnp | grep 8006 # pveproxy listening on 8006
If the egrep command returns 0, virtualization is disabled in the BIOS: LXC containers still work, but KVM virtual machines do not.
Security and best practices
- Never expose port 8006 or SSH to the Internet. For remote access, use a VPN (WireGuard, for example) into your local network.
- Create a named admin account instead of using
rootday to day. Permissions are managed withpveumor in Datacenter → Permissions, and stored in/etc/pve/user.cfg. Do not edit that file by hand.
pveum user add admin@pve --comment "Administrator"
pveum passwd admin@pve
pveum acl modify / --users admin@pve --roles PVEAdmin
pveum user list
pveum acl list
- Enable two-factor authentication (TOTP): Datacenter → Permissions → Two Factor → Add → TOTP. Scan the QR code with an OTP app, enter the code, then click Add. Do the same for
root@pam. - HTTPS certificate:
pveproxydoes not use a certificate obtained with certbot. Use Proxmox’s built-in ACME client instead. HTTP-01 mode (“standalone”) requires opening port 80 to the Internet; in a homelab, prefer the DNS-01 challenge with a plugin for your DNS provider. In the web interface: Datacenter → ACME for the account and plugin, then node → Certificates to order the certificate. From the command line:
pvenode acme account register default you@example.com
pvenode acme plugin add dns mydns --api ovh --data /root/ovh.conf
pvenode config set --acmedomain0 pve.example.com,plugin=mydns
pvenode acme cert order
Do your first tests against the Let’s Encrypt staging directory, because the production directory enforces strict rate limits. Renewal is automatic after that.
- Updates: run
apt update && apt full-upgraderegularly, or use node → Updates. Update each container too. - Backups: schedule them in Datacenter → Backup, preferably to another disk or another server.
Troubleshooting common errors
-
Symptom: the mini-PC does not boot from the USB drive. Cause: drive written in ISO mode with Rufus, an unsupported tool (UNetbootin), or the wrong boot order. Fix: rewrite the drive with
dd, Etcher, or Rufus in DD mode, then use the BIOS one-time boot menu. -
Symptom: the installer reports that KVM is not available. Cause: VT-x is disabled in the BIOS. Fix: enable Intel virtualization in the BIOS, then check with
egrep -c '(vmx|svm)' /proc/cpuinfo. -
Symptom:
apt updatereturns401 Unauthorizedforenterprise.proxmox.com. Cause: the enterprise repository is enabled without a subscription. Fix: follow step 5. -
Symptom: the web interface is unreachable after a network change. Cause: the IP is on the physical card instead of
vmbr0, the interface name is wrong, or the gateway is missing. Fix: from the physical console, correct/etc/network/interfacesusing the template in step 6, then runifreload -a. -
Symptom:
pct createfails with “volume does not exist”. Cause: the template was not downloaded, or the path is missinglocal:vztmpl/. Fix: check the exact name withpveam list local.
FAQ
Is the Minisforum MS-01 an N100 mini-PC?
No. It uses an Intel Core i5 or i9 processor (12th or 13th gen, depending on the version). Proxmox VE installs on it with the same procedure, but it is not the hardware the title refers to. For an N100, choose an N100-based mini-PC with an Ethernet port.
Can I install Proxmox over Wi-Fi only?
Proxmox advises against it. The vmbr0 bridge does not work normally on a Wi-Fi interface, and you have to rely on workarounds (NAT, ebtables). Use an Ethernet cable.
What are the default credentials?
There are none. The web interface uses root, the Linux PAM realm and the password set during installation. Containers have no password until you set one.
How do I update Proxmox?
With apt update followed by apt full-upgrade, or via node → Updates, once the repositories are set up as in step 5. To move from one major version to the next, follow the official upgrade guide for your version.
ext4 or ZFS on a single-SSD mini-PC?
ext4 (with LVM) is the default and uses less memory. ZFS adds snapshots and integrity checking, but needs more RAM. On a single disk, it provides no redundancy.
Read also
- Installer opnsense sur mini pc routeur
- Installer home assistant sur un mini pc
- Comparison mini pc n100 vs n305 proxmox
Host this yourself
No hardware to manage? This kind of service runs on a managed VPS, ready in minutes. See PlanetHoster plans