About this project
VirtDeck is an unofficial desktop client for managing Proxmox VE, written in Python with PySide6. It aims to bring cluster and host monitoring, VM and container management, and Proxmox Backup Server browsing into a single window without a browser.
Monitoring features include CPU, RAM, network and disk usage charts based on PVE RRD data, with arbitrary time ranges and CSV export for VM, host and storage charts. It shows VM pool summaries with resource progress bars, aggregated and per-node storage views with fill-level charts, storage content (backups, VM disks, ISO images, templates), all snapshots on a host in one table, VM hardware configuration and options, task history, host network interfaces, PVE services, disks with FC multipath dedup, and a health check tab covering CPU/memory/disk thresholds, critical service status, subscription and apt updates. Status indicators use colored markers.
Management capabilities cover power actions for QEMU and LXC (start, shutdown, reboot, reset, stop, resume), bulk actions on multi-selected VMs with progress and per-VM results, snapshot rollback, VM creation dialogs, cluster creation and node joining, QEMU migration between nodes, cloning of VMs and containers (full or linked), template conversion, SPICE console via virt-viewer, and a built-in noVNC console for QEMU VMs with a WebSocket bridge and sticky modifier keys. Storage definitions can be created, edited and deleted, and storage files can be uploaded, copied, moved or removed.
Backup support includes PBS backup browsing through PVE with owner, verify state and notes columns, single-backup deletion, restore into a new VM or container, direct Proxmox Backup Server connection on port 8007 with datastores and fill levels, a PBS panel for datastore status, snapshots per namespace and snapshot deletion, plus PBS sync/verify/prune job schedules with manual run.
Security and audit features include user-bound API tokens created automatically when adding a server, token storage in the system keyring (KWallet, GNOME Keyring, Windows Credential Manager), node configuration in SQLite without plaintext tokens on disk, encrypted config export/import using PBKDF2 and Fernet, per-host SSL certificate validation toggle, optional per-host HTTP(S) proxy, and audit log filters with text search and status filtering.
The interface provides an object tree with user groups, clusters and standalone hosts, view modes for hosts, storages and backup servers, user-defined host groups with drag-and-drop assignment, per-item tree notes, global search (Ctrl+F), a monitoring dashboard with metric cards and live charts, card-style list views, node comparison, multi-cluster dashboard, task history with status badges, a status bar summary, system tray icon, offline mode with cached resources, multi-language UI (English, Russian, Arabic, Chinese, French, Spanish), multiple themes including KDE Breeze variants, background auto-refresh every 20 seconds, toast notifications, diagnostics for unreachable hosts, parallel data loading, and persistence of window geometry, splitter positions and expanded tree nodes.
Requirements include Python 3.10+ for pip/source installs, PySide6 with WebEngine, proxmoxer, requests/urllib3, pyqtgraph, keyring, cryptography, and optionally websockets for the built-in noVNC console on Linux. Proxmox VE API access on port 8006 and Proxmox Backup Server on port 8007 are needed for the respective integrations, and virt-viewer is required for SPICE/VNC consoles via remote-viewer. Installation options include Windows zip and NSIS installer, pip, .deb, .rpm, .tar.gz and .whl packages, with system package instructions for Arch, Debian/Ubuntu and Fedora.
The project is licensed under GPL-3.0 and bundles noVNC (MPL-2.0). It is an unofficial third-party client not affiliated with Proxmox Server Solutions GmbH or KDE e.V.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.