Skip to content

dockur/proxmox

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

235 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Proxmox

Build Version Size Package Pulls

Proxmox VE inside a Docker container.

Features ✨

  • Runs a full Proxmox VE node inside Docker
  • Provides the familiar Proxmox web interface
  • Supports fast KVM-accelerated virtual machines
  • Supports LXC containers out of the box
  • Includes a pre-configured NAT bridge with DHCP
  • Supports ARM64 systems through PXVIRT

Usage 🐳

Docker Compose:
services:
  proxmox:
    hostname: pve
    image: dockurr/proxmox
    container_name: proxmox
    environment:
      PASSWORD: "root"
    ports:
      - 8006:8006
    volumes:
      - ./data:/var/lib/vz
      - ./config:/var/lib/pve-cluster
    restart: always
    privileged: true
    stop_grace_period: 2m
Docker CLI:
docker run -it --rm --name proxmox --hostname pve --privileged -e "PASSWORD=root" -p 8006:8006 -v "${PWD:-.}/data:/var/lib/vz" -v "${PWD:-.}/config:/var/lib/pve-cluster" --stop-timeout 120 docker.io/dockurr/proxmox
GitHub Codespaces:

Open in GitHub Codespaces

Screenshot 📸

Requirements ⚙️

  • Docker or Podman on a Linux host with KVM support.
  • Docker Desktop or Podman (Desktop) on Windows 11 with nested virtualization enabled.
  • At least 2 GB of available RAM.
  • At least 32 GB of free disk space.

Note

Docker Desktop on Linux, macOS, and Windows 10 does not currently provide KVM access to containers and is therefore not supported.

FAQ 💬

How do I use it?

Very simple! These are the steps:

  • Start the container and connect to port 8006 using your web browser.

  • Login using the username root and the password you specified in the PASSWORD environment variable.

Enjoy your time with your brand new Proxmox VE installation, and don't forget to star this repo!

How do I change the location of the storage pool?

To change the location for the local storage pool used by Proxmox to store large objects like disk images and .iso files, include the following bind mount in your compose file:

volumes:
  - ./data:/var/lib/vz

Replace the example path ./data with the desired storage folder or named volume.

How do I change the location of the configuration data?

To change the location of your Proxmox VE configuration data, include the following bind mount in your compose file:

volumes:
  - ./config:/var/lib/pve-cluster

Replace the example path ./config with the desired storage folder or named volume.

Are there containers available for other Proxmox products?

Yes, see our Proxmox Backup Server, Proxmox Datacenter Manager and Proxmox Mail Gateway containers.

How do I verify that KVM is available?

First, make sure your platform and container runtime meet the requirements listed above.

On a Linux host, install cpu-checker and run:

sudo apt install cpu-checker
sudo kvm-ok

A working configuration should report:

KVM acceleration can be used

You can also verify that the KVM device exists:

ls -l /dev/kvm

If KVM is unavailable, check whether:

  • Hardware virtualization (Intel VT-x or AMD-V) is enabled in your BIOS or UEFI.
  • Nested virtualization is enabled when the host itself is a virtual machine.
  • Your VPS or cloud provider supports nested virtualization.

If kvm-ok succeeds but the container still reports that KVM is unavailable, you can temporarily add privileged: true to your Compose file to rule out a permission or device-access issue.

Acknowledgements 🙏

Special thanks to rtedpro-cpu and LongQT-sea, this project would not exist without their invaluable work.

Stars 🌟

Stargazers

Disclaimer ⚖️

The product names, logos, brands, and other trademarks referred to within this project are the property of their respective trademark holders. This project is not affiliated, sponsored, or endorsed by Proxmox Server Solutions GmbH.

About

Proxmox VE inside a Docker container.

Topics

Resources

License

Stars

269 stars

Watchers

5 watching

Forks

Packages

 
 
 

Contributors