Getting ISOs into Proxmox is straightforward, but there are three legit ways to do it — and which one you pick depends on where your ISO lives and how much bandwidth you’ve got. Let me walk you through all three so you can stop fumbling around.
The Web UI Upload (Best for Small Files)
This is the most obvious path, and it works fine if you’ve got the ISO on your local machine and it’s not huge.
- Log into the Proxmox web console (usually
https://your-proxmox-ip:8006) - Click the Datacenter dropdown on the left sidebar
- Expand local storage and click it
- Click the Content tab on the right
- Hit the Upload button
- Select your ISO file and watch it upload
That’s it. For a 2–4 GB file over a decent local network, this works great. For 8+ GB ISOs or slow connections, your browser will time out and ruin your day — which is where method two comes in.
The Direct URL Download (For Remote ISOs)
If your ISO lives on a web server somewhere (or you can get a direct download link), Proxmox can fetch it for you without hogging your local bandwidth.
- Go back to that Content tab we visited above
- Click Download from URL
- Paste in the full ISO URL (e.g.,
https://releases.ubuntu.com/jammy/ubuntu-22.04.3-live-server-amd64.iso) - Give it a moment — Proxmox downloads directly to storage in the background
This is clean because your Proxmox server does the downloading, not your laptop. Perfect if you’re deploying from home and the Proxmox host has better internet than you do.
Tip: Some sites (looking at you, Debian mirrors) rate-limit downloads. A slower download beats a stalled upload every time.
The CLI Method (For Power Users)
Sometimes you want to bypass the web UI entirely. SSH into your Proxmox node and drop the ISO directly into the storage directory:
# SSH into your Proxmox hostssh root@proxmox-host
# Navigate to the ISO storage directorycd /var/lib/vz/template/iso/
# Option 1: wget a file directlywget https://releases.ubuntu.com/jammy/ubuntu-22.04.3-live-server-amd64.iso
# Option 2: curl if you prefer itcurl -O https://releases.ubuntu.com/jammy/ubuntu-22.04.3-live-server-amd64.iso
# Option 3: copy from an NFS mount or local USB drivecp /mnt/usb/debian-12.1-amd64-netinst.iso /var/lib/vz/template/iso/The web UI will auto-discover ISOs in that directory within a minute or two. No restart needed — just refresh the storage tab.
Why use this? When you’re SSHed into the host anyway, it’s faster than bouncing through the web UI. Also solid if you’re scripting deployments or have automation pulling ISOs from a mirror.
Verify Checksums (You Should Do This)
Downloaded an ISO? Check it before you spin up a VM. Corrupted install media is a 2 AM nightmare waiting to happen.
# If you have an SHA256 checksum filecd /var/lib/vz/template/iso/wget https://releases.ubuntu.com/jammy/SHA256SUMSsha256sum -c SHA256SUMS | grep ubuntu-22.04
# Output: ubuntu-22.04.3-live-server-amd64.iso: OKIf the checksum doesn’t match, delete the ISO and download again. Don’t assume it’ll work anyway — odds are low but not zero.
Storage Pools and Where ISOs Live
By default, ISOs go to /var/lib/vz/template/iso/ on your local storage. If you’ve configured different storage pools (NFS, iSCSI, whatever), you can:
- Go to Datacenter → Storage and pick which pool has ISO support
- Use that pool’s path when uploading or copying files
Check your storage config if ISOs aren’t showing up where you expect them.
Cleaning Up Old ISOs
Over time your ISO directory gets cluttered. Clean it up:
# SSH in and list what you’ve gotcd /var/lib/vz/template/iso/ls -lh
# Delete old ISOs you don’t need anymorerm ubuntu-20.04-live-server-amd64.isoThe web UI will refresh automatically. No need to restart Proxmox.
Which Method Should You Use?
- Web UI upload: Under 4 GB, file on your laptop, good local network
- URL download: ISO on the internet, Proxmox has fast connectivity
- CLI direct copy: Scripting, large files via NFS, or you’re already SSHed in
All three land the ISO in the same place. Pick what feels least annoying for your situation. Your 2 AM self will appreciate not fumbling with USB drives.