Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

vmanager

Proxmox VE guest management TUI: the views and bulk ops the web UI never gave you.

PVE stores autostart and startup order in each guest’s conf (onboot, startup: order=…,up=…,down=…), but there is no single screen that shows every VM and CT sorted by boot order with delays, ties, dependencies, and resource load. This tool fills that gap.

Python 3.10+ stdlib only

Features

Pain point What vmanager does
No unified autostart/order view One table: VM and CT, sorted by order
Startup delays buried Edit up / down delays inline
No boot dependencies Depends on: stored in guest description
Multi-click bulk onboot Mark rows + bulk enable/disable
Messy order numbers Renumber / topo-fix from deps
Order collisions invisible Plan view + ! issue markers
“What boots and how heavy?” Autostart RAM / vCPU vs host
Scary edits Staged edits + apply diff + --dry-run

Changes are staged in memory, then applied via official tools:

qm set <vmid> --onboot 1 --startup order=50,up=30
pct set <vmid> --description '...'

Dependencies (description footer)

vmanager encodes boot deps in each guest’s description, leaving your notes alone:

Whatever notes you already had…

# --- vmanager managed below; do not edit ---
Depends on: 1053 1002
Key Action
y Edit dependency VMIDs
Y Clear deps
m Depend on marked guests (or prompt for one id)
M Who depends on me?
F Topological renumber so deps boot first
4 Filter rows with dep/order issues

Violations (missing guest, dep not onboot, order not before dependent, cycles) show as ! and in the PLAN view.

TUI highlights

LIST view

Full guest table with aligned columns, dirty ~, marked *, issue !.

PLAN view (Tab / P)

Interactive boot timeline with cumulative T+ delays.

Key Action
J / K Move guest earlier / later (rewrites onboot orders to 10,20,30…)
y Edit deps
F Fix order from dependency graph
w Apply preview

Apply safety

w / Enter opens a diff panel. Live mode requires y to confirm. --dry-run never writes.

Other keys

Key Action
Space Toggle onboot
o + - Order
u d Up / down delay
r Renumber onboot → 10,20,30…
f s / Filter, sort, search
i Detail (notes, deps, issues)
D Discard pending
? Full help

Install / run

No dependencies beyond Python 3.10+ (stdlib curses):

./bin/vmanager
# or
python3 -m vmanager

./bin/vmanager --dry-run     # never write
./bin/vmanager --list
./bin/vmanager --boot-plan

Optional PATH install:

ln -s "$(pwd)/bin/vmanager" /usr/local/bin/vmanager

CLI

vmanager --list                 # full table (includes DEPS)
vmanager --list --onboot-only
vmanager --boot-plan            # plan + host RAM% + dep issues
vmanager --list --json
vmanager -n --renumber          # dry-run renumber
vmanager -n --set-onboot 1024 1
vmanager -n --set-startup 1002 'order=150,up=30'

Layout

vmanager/
  bin/vmanager
  vmanager/
    cli.py  backend.py  models.py  deps.py  table.py  tui.py
  tests/
  README.md  LICENSE

Safety

  • Prefer --dry-run first on production.
  • Apply uses qm set / pct set only.
  • Does not start/stop/migrate guests; config only.
  • Description writes only touch the managed footer block (plus your notes if you edit them via deps clear/set).

License

MIT

About

Proxmox VE guest management TUI: autostart order, delays, description-based deps, interactive boot plan, dry-run apply

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages