Skip to content

dockur/proxmox

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

172 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Proxmox

Build Version Size Pulls

Proxmox VE inside a Docker container.

Features ✨

  • High-performance — Identically to bare-metal thanks to KVM acceleration
  • Fast iteration — Spin up or tear down a PVE node quickly within seconds
  • Easy backups — Stores all your configuration in a volume mount
  • Simple networking — Comes with a pre-configured NAT bridge with DHCP
  • LXC supported — LXC containers work out of the box
  • Multi-platform — Support for ARM64 processors via PXVIRT

Usage 🐳

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

Open in GitHub Codespaces

Requirements 🛠️

  • Intel VT-x / AMD-V enabled
  • Modern Linux host with kernel 6.8+
  • Docker Engine (version 27+ recommended)
  • Windows 11 with Docker Desktop (WSL2):
    • WSL kernel version 6.6+ (wsl --version)
    • Nested virtualization enabled in WSL Settings

Screenshot 📸

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 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:
  - ./storage:/var/lib/vz

Replace the example path ./storage 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.

How do I verify if my system supports the KVM virtualization used by Proxmox?

First check if your software is compatible using this chart:

Product Linux Win11 Win10 macOS
Docker CLI
Docker Desktop
Podman CLI
Podman Desktop

After that you can run the following commands in Linux to check your system:

sudo apt install cpu-checker
sudo kvm-ok

If you receive an error from kvm-ok indicating that KVM cannot be used, please check whether:

  • the virtualization extensions (Intel VT-x or AMD SVM) are enabled in your BIOS.

  • you enabled "nested virtualization" if you are running the container inside a virtual machine.

  • you are not using a cloud provider, as most of them do not allow nested virtualization for their VPS's.

Acknowledgements 🙏

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

Stars 🌟

Stars

Packages

 
 
 

Contributors