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.
| 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 '...'
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.
Full guest table with aligned columns, dirty ~, marked *, issue !.
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 |
w / Enter opens a diff panel. Live mode requires y to confirm. --dry-run never writes.
| 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 |
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-planOptional PATH install:
ln -s "$(pwd)/bin/vmanager" /usr/local/bin/vmanagervmanager --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'vmanager/
bin/vmanager
vmanager/
cli.py backend.py models.py deps.py table.py tui.py
tests/
README.md LICENSE
- Prefer
--dry-runfirst on production. - Apply uses
qm set/pct setonly. - 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).
MIT