This is the first part of Proxmox from scratch. By the end of it you have a server running Proxmox Virtual Environment, reachable from a browser and up to date. The following parts build on it: virtual machines, containers, storage, networking and backups.
Everything here is done on Proxmox VE 9.2, which came out in May 2026 [7]. If you find an older guide for version 8, be aware that 8 stopped getting security updates on 31 August 2026 [7].
What Proxmox is
Proxmox VE is an operating system for running other operating systems. You install it on a computer in place of Windows or an ordinary Linux, and from then on that computer hosts virtual machines and containers, which you manage from a web page. It is built on Debian, it is free to use, and it is what my own servers run.
Planning the server
Hardware requirements
The official minimum is modest: a 64-bit processor with Intel VT or AMD-V “for KVM full virtualization support”, and for trying it out “1 GB RAM, plus additional RAM needed for guests” [1]. For real use Proxmox recommends at least 2 GB for Proxmox itself, plus whatever you give your virtual machines and containers [1].
In practice that means almost any business PC from the last ten years will do. What decides how much you can run on it is memory, more than the processor.
The machine I use in this series is a Lenovo ThinkCentre M710q Tiny, a one-litre PC with a 7th generation Intel Core i5 (an i5-7500T) and 32 GB of RAM. It has one network port, and room for one M.2 drive and one 2.5" drive. Mine has a 2 TB NVMe drive, and a 1 TB 2.5" hard drive in the bay that I am still testing. I will use the NVMe for everything: booting, Proxmox VE itself, and the virtual machines and containers.

Opened from below, the Tiny shows its two memory slots, and the M.2 slot with the NVMe drive:

Two things to check on your own hardware before you start:
- Virtualisation is switched on in the BIOS or UEFI setup. It is usually called Intel Virtualization Technology (VT-x) or SVM on AMD, and on many PCs it is off when they leave the factory. I had used mine as a desktop machine at our old place, so I had already switched on VT-x. I suggest double-checking it before you install, just to be sure.
- The disk can be erased. The installer takes the whole disk: “All existing data on the selected drives will be removed during the installation process.” [3]
On the M710q the setting is under Advanced → CPU Setup. Both Intel(R) Virtualization Technology and VT-d were enabled on mine. VT-d is the one part 9 of this series needs, for passing the built-in graphics through to a virtual machine.

While you are in there, one more setting is worth a look on a server: what the PC does when the power comes back after a power cut. On the M710q it is Power → After Power Loss, and I have it on Last State, so the server starts again by itself if it was running when the power went.

Storage considerations: ZFS, LVM-thin and network shares
The one decision in the installer that is hard to change later is the file system on the disk you install to. The choices are ext4, xfs, ZFS and BTRFS, where BTRFS is marked as a technology preview [3].
- ext4 (or xfs) is the plain choice. The installer sets the disk up
with LVM, and your virtual machines end up on a storage called
local-lvm[3] [5]. It needs little memory and works on anything. - ZFS checks your data for corruption, compresses it, and makes snapshots cheap [6]. With two disks it can mirror them, so the server survives one disk failing. The price is memory: the ZFS documentation says “you need at least 8GB to start” [6], and Proxmox’s rule of thumb is about 1 GB of memory for every TB of storage in use [1].
One warning if your server has a RAID controller: “ZFS on top of any hardware RAID is not supported and can result in data loss.” [3] ZFS wants to see the disks directly.
I use ZFS, also on a server with only one disk. A single disk gives no protection against the disk failing, but I still get the checksums, the compression and the snapshots, and the later parts on storage and backups build on ZFS. With one disk, the installer calls this ZFS (RAID0) [6].
A single-drive pool is not ideal, but for me ZFS on a single drive is still better than ext4, because:
- I get told about errors and bit rot. The drive won’t die silently.
- I get snapshots. They freeze the drive at a point in time, which matters for protection against ransomware.
- I get ZFS send and receive. When replicating the drive to the backup server, it only has to transfer the blocks that have changed, and through the snapshots it knows exactly which blocks those are. rsync has to look at every file on both source and target to find out.
You do not have to plan the rest of the storage now. More disks, and shares from a NAS over NFS or SMB, can be added afterwards, and part 4 of the series is about exactly that.
Preparing the installation media
I did not use a USB stick myself. I have a small NVMe drive in an
M.2-to-USB enclosure with Ventoy on it. Ventoy is a tool that boots ISO
files you copy onto the drive, and shows a menu of them, so one drive
holds every installer I use. I picked proxmox-ve_9.2-1.iso in the
menu and then Boot in normal mode, and the Proxmox installer started.
Ventoy will get a post of its own. If it does not boot the installer on
your PC, the plain way below is what to fall back on.


Download the installer from Proxmox’s download page: the file is called
something like proxmox-ve_9.2-1.iso. You also need a USB stick that
is larger than the file, and that you do not mind erasing
[2].
How you write it to the stick depends on what your everyday computer runs:
Windows: use Etcher, or Rufus. In Rufus, answer No when it asks about downloading a different version of GRUB, and choose DD mode when it asks how to write the image [2].
Linux: find the stick’s device name by running
lsblkbefore and after you plug it in, and then [2]:dd bs=1M conv=fdatasync if=./proxmox-ve_*.iso of=/dev/XYZReplace
XYZwith the stick. Be careful here:ddwrites to whatever you point it at, without asking.macOS: the documentation has a three-step method with
hdiutil,diskutilanddd[2]. Etcher works on a Mac as well.
One tool not to use: “Do not use UNetbootin. It does not work with the Proxmox VE installation image.” [2]
Installing Proxmox VE
Connect a screen, a keyboard and the network cable, plug in the USB stick, and start the PC from the stick. On most PCs you get the boot menu with F12, on some with F2, Esc or Del.
1. The boot menu. Choose Install Proxmox VE (Graphical). If the picture is garbled or the screen stays black, start again and choose Install Proxmox VE (Terminal UI), which is the same installer in text mode [3]. I used the Terminal UI, so that is what the screenshots below show; it asks the same questions.

2. The licence. Accept it.
3. Target disk. Pick the disk to install on. Click Options to choose the file system. For ZFS on a single disk, choose zfs (RAID0) and make sure only that disk is selected [3]. The advanced ZFS settings (ashift, compression, checksum, ARC size) can stay as they are.

In the Terminal UI the button is called Advanced options, and the file system is the first line in it:

Below it, the installer lists every disk it can see, and they are all selected to begin with. Mine had three: the NVMe drive, the 2.5" hard drive, and the Ventoy drive I was installing from. Set every disk except the one you are installing to to – do not use –:

4. Location and keyboard. Country, time zone and keyboard layout. The installer usually guesses these [3]; check the keyboard layout, because you are about to type a password with it.

5. Password and email. This is the password for root, the
administrator. It has to be at least 8 characters [3]; make
it a good one, since this account can do everything. The email address
is where the server sends its notifications, such as available updates
and errors from scheduled jobs [3].
6. Network. Choose the network port, and give the server a name, an
IP address, a gateway and a DNS server. The name has to be a full one,
with a domain, for example pve1.home.arpa. Give the server an address
that will not change: either one outside the range your router hands
out, or one you reserve in the router. Everything you do later starts
with typing this address into a browser.
My server is called priscilla, which is the name you will see in the
rest of the screenshots. The installer also had Pin network interface
names ticked, and I left it that way: it gives the network port a fixed
name, here nic0.

7. Summary. Check it and click Install. It “should not take more than a few minutes” [3]. When it is done, remove the USB stick and let the server restart.

When it has started, the screen shows a login prompt and, above it, the address of the web interface. From now on the server does not need a screen or a keyboard.

First steps after installation
On another computer, open a browser and go to the address from the
screen: https:// followed by the server’s IP address and :8006
[3]. The browser warns you about the certificate, because
the server has made its own; accept it and continue. In Firefox that
means Advanced and then Proceed.

Log in as root with the password you chose, and with Linux PAM
standard authentication as the realm [3].

You will get a message that the server has no valid subscription. That is expected. Proxmox is free to use, and a subscription buys support and access to the most thoroughly tested updates.

Click the server’s name in the tree to the left to see its Summary: processor, memory, disk, the kernel and the Proxmox version.

Package repositories and updates
A new installation is set up to fetch updates from the enterprise
repository, which needs a subscription. Without one, updating fails, so
this is the first thing to change. This is what apt update said in the
Shell on my new server: the Debian lines work, and the two enterprise
lines fail with 401 Unauthorized.

Proxmox describes the alternative, the no-subscription repository, as meant “for testing and non-production use”, with packages that are “not always as heavily tested and validated” [4]. For a server at home that is the normal choice.
In the web interface:
- Click the server’s name in the tree to the left, then Updates → Repositories.
- Select the
pve-enterpriseline and click Disable. There is also an enterprise line for Ceph, inceph.sources; disable that too. - Click Add and choose No-Subscription.

Here is the list halfway through: the Ceph enterprise line is disabled
and greyed out, pve-no-subscription has been added, and the
pve-enterprise line at the bottom is selected, ready for Disable.
The yellow warnings are Proxmox reminding you that no-subscription is
not meant for production; on a server at home you can live with them.
You can also see that I have added the no-subscription lines for Ceph Squid and Ceph Tentacle, so my server uses the no-subscription repositories for Proxmox VE and for Ceph alike.

Behind the scenes that creates the file
/etc/apt/sources.list.d/proxmox.sources with this content
[4]:
Types: deb
URIs: http://download.proxmox.com/debian/pve
Suites: trixie
Components: pve-no-subscription
Signed-By: /usr/share/keyrings/proxmox-archive-keyring.gpgIf you have used older versions: Proxmox VE 9 is built on Debian 13,
which uses these .sources files where there used to be one-line
entries in sources.list.
Then install the updates. Under Updates, click Refresh, which
fetches the package lists and should end with TASK OK:

The page then lists the packages that have a newer version:

Upgrade opens a console window that runs the upgrade and asks before
it starts. On my new server it was 76 packages to upgrade and 4 new
ones; answer Y.

Or, in the Shell in the web interface [4]:
apt update
apt full-upgradeUse full-upgrade, not plain upgrade: Proxmox updates sometimes add
or replace packages, and plain upgrade skips those. If a new kernel
was installed, restart the server.
Two tools for the shell: tmux and btop
Proxmox doesn’t come with every tool you might want on the command line. I install two right after the updates, both from the Debian repositories the server already uses:
apt install tmux btoptmux keeps a shell session running on the server when your
connection to it is cut. Without it, anything you start over SSH, or in
the Shell in the web interface, stops when the connection drops or the
browser tab is closed. That matters for jobs that run for hours, like
testing a disk or copying a large amount of data. Start tmux, run the
job inside it, and leave with Ctrl-b followed by d. The job keeps
running. Later, tmux attach takes you back to it. tmux can do a lot
more, with several windows and split panes in one session; its own
Getting Started guide [8] and Ham Vocke’s A Quick and
Easy Guide to tmux [9] are good places to start.
btop shows what the server is busy with: load on each processor
core, memory, disk and network activity, and the processes using the
most. The web interface’s Summary gives you the overall picture;
btop is quicker for finding which process is to blame.
Adding storage: ZFS, NFS and SMB/CIFS
After the installation the server has two storages. local holds ISO
images, container templates and backups; local-zfs (or local-lvm
if you chose ext4) holds the disks of your virtual machines and
containers [5]. That is enough for the next two parts.
When you need more, there are two places to look:
- More disks in the server: under the server’s name, Disks → ZFS creates a new pool on empty disks and adds it as storage in one go.
- A share on another machine: Datacenter → Storage → Add has entries for NFS and SMB/CIFS, among others. Both can hold ISO images and backups, which makes a NAS a good place for those [5].
Part 4, Storage in Proxmox, goes through both.
Next steps in this series
The server is running, but it is not doing anything yet. In part 2, we create the first virtual machine. After that:
- Part 3: an LXC container
- Part 4: storage
- Part 5: networking inside Proxmox
- Part 6: backup of virtual machines and containers
- Parts 7 and 8: a second server, a cluster, and moving guests between the two
- Part 9: passing the built-in graphics through to a virtual machine
- Part 10: upgrading and expanding a ZFS mirror
Sources
- System Requirements (Proxmox VE documentation), pulled 2026-10-05
- Prepare Installation Media (Proxmox VE documentation), pulled 2026-10-05
- Installation (Proxmox VE documentation), pulled 2026-10-05
- Package Repositories (Proxmox VE documentation), pulled 2026-10-05
- Storage (Proxmox VE documentation), pulled 2026-10-05
- ZFS on Linux (Proxmox VE documentation), pulled 2026-10-05
- Proxmox VE (endoflife.date), pulled 2026-10-05
- Getting Started (tmux wiki), pulled 2026-10-21
- A Quick and Easy Guide to tmux (Ham Vocke), pulled 2026-10-21



