Before you start: versions, package names and storage identifiers change over time. Check the commands against the official documentation for your setup before running them, especially anything that creates, deletes or overwrites data.
What you will have working by the end
By following this guide you will have a bare‑metal server running Proxmox VE as a single‑node cluster. The host will expose the web GUI on port 8006, have a functional storage pool (LVM‑thin or ZFS depending on your choice), a Linux bridge (vmbr0) bound to the physical NIC, and a running Linux container that you can access via console. The entire process from download to first container typically takes between 30 and 45 minutes, depending on your hardware and network speed.
More Tutorials & Self-Hosting guides on TechPulseMind →
Prerequisites
| Category | Requirement | Notes / Verification |
|---|---|---|
| Hardware | 64‑bit x86_64 CPU with Intel VT‑x or AMD‑V virtualization extensions enabled in BIOS/UEFI. | Run
and look for the vmx (Intel) or svm (AMD) flag, or check your firmware settings. |
| Minimum 2 GB RAM (4 GB+ recommended for a usable homelab). | ||
| At least one free disk ≥ 16 GB (SSD preferred) for the Proxmox OS plus storage. | ||
| One NIC that will be used for management and VM traffic (can be the same NIC used for internet access). | ||
| Software / Access | Ability to download files from the internet (HTTPS). | |
| A USB flash drive ≥ 8 GB (or a blank DVD) to create bootable media. | ||
| A working computer (Windows, macOS, or Linux) to write the ISO to the USB drive. | ||
| Optional but helpful: SSH client (PuTTY, OpenSSH) for remote console access after installation. | ||
| Knowledge | Basic familiarity with BIOS/UEFI boot menu and networking concepts (IP address, subnet mask, gateway). | No prior Proxmox experience required. |
Installation steps
-
First, obtain the latest stable Proxmox VE installer ISO. Open your browser and go to the official download page. Choose the file labelled “Proxmox VE ISO Installer” for the current stable release. Save it to a known location on your workstation.
-
After the download finishes, verify its integrity to avoid using a corrupted image. The download page publishes a SHA‑256 checksum (and optionally a GPG signature). Open a terminal on your workstation, navigate to the folder containing the ISO, and compute its checksum:
sha256sum proxmox-ve-installer.isoCompare the output string with the value shown on the download page. If they match, the ISO is good; otherwise download it again.
-
Next, create bootable media. If you are on Linux or macOS, you can use the
ddutility. First identify the device name of your USB stick – be very careful, as picking the wrong device will destroy data. List block devices:lsblkLocate the entry that matches the size of your USB drive (for example, sdb). Assuming the device is /dev/sdx, write the ISO with:
sudo dd if=proxmox-ve-installer.iso of=/dev/sdx bs=4M status=progress && syncOn Windows you can use Rufus or balenaEtcher; select the ISO, choose the USB drive, and start the process. The tool will handle block size and syncing automatically.
-
Insert the USB stick into the target server, power it on, and enter the boot menu (often F11, F12, Esc, or Del). Choose the USB device as the boot source.
-
The server will boot into the Proxmox VE installer. At the initial screen select the default entry “Install Proxmox VE” and press Enter.
-
Read the End‑User License Agreement that appears. If you agree, highlight “I Agree” and continue.
-
Now choose the target hard disk for the installation. Warning: this step will erase all data on the selected disk. Double‑check the model and size shown in the list before proceeding.
-
Select the filesystem for the root partition. The installer offers ext4 (the default) and ZFS. If you have less than 8 GB of RAM, stay with ext4; ZFS needs more memory to be effective. Choose the option that matches your hardware and preference.
-
Set your location, time zone, and keyboard layout. Use the arrow keys to pick the appropriate entries and press Enter after each.
-
Create a strong password for the
root account. This password will be used for both console login and the web GUI. Type it twice when prompted. -
The installer will auto‑detect network interfaces. Choose the NIC that will carry management traffic (usually the one connected to your router or switch). You can either let DHCP assign an address or enter a static IP manually. Provide a short hostname (e.g.,
pve01) and, if you use a local domain, type it here; otherwise leave the domain field blank. -
Review the summary screen. Verify that the disk, filesystem, network settings, and password are correct. When satisfied, select “Install” to begin copying files and installing the bootloader (GRUB).
-
When the installer finishes, it will prompt you to remove the bootable medium and reboot. Promptly pull out the USB stick (or eject the DVD) to prevent the machine from booting back into the installer.
-
After the reboot, the server will show a login prompt on the console. On any workstation that shares the same network, open a browser and navigate to
https://IP‑address:8006, replacing IP‑address with the address you saw on the console or obtained via DHCP. You will encounter a warning about a self‑signed certificate; accept it temporarily to reach the login page. -
Log in with username
rootand the password you set earlier. The web GUI loads, showing the Datacenter view. -
Confirm that the node is online. In the Datacenter panel the node icon should be green, and you should see statistics for CPU, RAM, and disk usage.
-
If the installer did not automatically create a storage pool for VMs/containers, add one now. Click “Datacenter → Storage → Add”. Choose the type that matches your earlier filesystem selection (Directory, LVM, or ZFS). Give it an ID such as
local-lvmorlocal-zfs, enable the content types you need (Disk image, Container, ISO), and click “Add”. -
Verify that the Linux bridge
vmbr0exists and is correctly configured. Go to “Node → System → Network”. You should see an entry forvmbr0set to Autostart, with the physical NIC (e.g.,eth0) listed as a port. If you used a static IP during installation, the bridge will show that address; if you used DHCP, the bridge will display the lease obtained from your router. -
Create your first Linux container. Click “Create CT” in the upper‑right corner. Fill in the wizard:
- CT ID: choose a free number (e.g.,
100). - Hostname: give it a name (e.g.,
ct01). - Template: select a recent TurnKey Linux or Ubuntu template from the
localstorage (the installer usually downloads a few). - Root Password: set a password for the container’s
rootaccount. - Resources: allocate RAM, swap, and disk size within the limits of your host.
- Network: leave the bridge set to
vmbr0unless you have a specific VLAN or firewall requirement.
Finish the wizard and wait for the container to be created.
- CT ID: choose a free number (e.g.,
-
Start the container and test connectivity. Select the new CT, click “Start”. Once the status changes to Running, open the console from the GUI. Log in with the
rootpassword you set. Inside the container run:ip aYou should see an address on the
vmbr0subnet. Then test reachability to your gateway (or any external host):ping -c 3 gateway‑IPReplace gateway‑IP with the address of your router (often the first address in the subnet, e.g.,
192.168.1.1). Successful replies confirm that storage, networking, and the container runtime are all working. -
(Optional) Apply any pending updates. In the GUI go to “Node → Updates”, click “Refresh”, then “Upgrade” if packages are available. Follow the prompts and reboot if the upgrade process requests it.
How to verify each milestone
- ISO integrity – the output of
sha256summatches the value published on the download page. - Bootable media – the USB stick appears as a bootable option in the server’s boot menu;
lsblkon the workstation shows a partition with the ISO’s label. - Installer launch – the screen displays the Proxmox VE installer boot menu (text or graphical).
- Installation completion – after reboot the console shows a login prompt reading “Proxmox VE login:”.
- Web GUI reachable – the browser loads
https://IP:8006and presents the Proxmox login page. - Node status green – in the Datacenter view the node icon is green and reports non‑zero CPU, RAM, and disk usage.
- Storage pool active – under “Datacenter → Storage” the pool shows Status: Active and lists free space.
- Bridge
vmbr0operational – in “Node → System → Network” the bridge lists the physical NIC as a port and displays an IP address (DHCP or static). - Container created – the CT appears under “Node → CT” with status Stopped (before start) or Running (after start).
- Container network works – inside the container console
ip ashows an address on the bridge subnet;pingto the gateway or an external IP succeeds. - System up‑to‑date – after refreshing the Updates pane, either “No updates available” is shown or updates have been applied successfully.
Common failure modes and fixes
| Failure mode | Likely cause | Fix / mitigation |
|---|---|---|
| Boot from USB fails – “No bootable device” | USB not properly written, or boot order incorrect. | Re‑create the bootable media using a verified tool (dd with correct of= device) and ensure the USB is first in the boot order. |
| Installer hangs at “Detecting hardware” | Virtualization extensions disabled in BIOS/UEFI or faulty RAM. | Enter firmware settings, enable VT‑x/AMD‑V, run a memory test (memtest86+), then retry. |
| Installation aborts with “Cannot write to disk” | Selected disk is write‑protected, or bad sectors were detected. | Check the drive’s connection, inspect SMART status (smartctl -a /dev/sdx), try another disk or replace the faulty drive. |
| After install, no network connectivity | NIC driver not loaded, or bridge mis‑configured. | From the console (Alt+F2) run lspci -k | grep -i eth to see if the driver is loaded; if missing, install appropriate firmware (apt update && apt install firmware-*). Re‑create the bridge via GUI or edit /etc/network/interfaces. |
| Web GUI refuses connection (timeout) | Management IP not reachable (wrong subnet, firewall, or IP conflict). | From another host on the same LAN, ping the Proxmox IP. If no reply, verify the IP address assigned (DHCP lease or static) and ensure it is in the correct subnet. Adjust via console (nano /etc/network/interfaces) or re‑run the installer’s network step. |
| Container fails to start – “Unable to open veth device” | Bridge vmbr0 missing or not set to Autostart. |
Check “Node → System → Network”; if the bridge is absent, add it (Add → Linux Bridge) and set the physical NIC as a port. |
| Storage shows 0 B free after installation | Same disk used for OS and storage without leaving space, or a partition already occupied by the OS. | Re‑install and allocate a separate disk or partition for storage, or shrink the OS partition using LVM tools (advanced) – better to plan storage layout up front. |
| Web GUI certificate warning blocks access | Self‑signed cert (expected on first install). | Accept the warning temporarily; later replace with a proper cert via “Node → System → Certificates” (Let’s Encrypt or internal CA). |
| Unable to download updates – “404 Not Found” | Misconfigured DNS or proxy. | From the console test DNS (nslookup deb.proxmox.org). Fix /etc/resolv.conf or configure proxy in /etc/apt/apt.conf.d/. |
Next steps
Now that you have a functional Proxmox VE host and a running container, you can expand your homelab in several useful directions:
- Explore the GUI – familiarize yourself with the Node, VM, CT, Storage, and Backup sections.
- Create a virtual machine – repeat the creation process but choose Create VM instead of CT; try installing a lightweight OS such as a Debian Cloud image.
- Set up a local APT mirror or cache – this speeds up future updates and template downloads, especially handy on slower links.
- Configure the built‑in firewall – use “Datacenter → Firewall” to define rules that protect your VMs and containers.
- Schedule regular backups – employ
vzdumpor the GUI backup feature to snapshots or archive your workloads to an external NAS or USB drive. - Add additional storage – attach a second SSD or HDD, create a ZFS pool for improved data integrity, or expose NFS/iSCSI targets for shared storage.
- Plan a multi‑node cluster – once you have a second server, you can enable High Availability (HA) and live migration.
- Experiment with templates and snapshots – download further OS templates from the Proxmox template library and use snapshots for quick rollback.
Each of these topics is covered in the official Proxmox VE documentation, which you should consult for the most up‑to‑date instructions and best practices. Happy virtualizing!
Some links on this page may be affiliate links. If you buy through them we may earn a commission at no extra cost to you. See our affiliate disclosure.