markmorado 49e976c0c0 feat(ui): design polish — semantic status tokens, self-hosted fonts, a11y, skeletons
Design system & theme:
- add semantic status tokens (success/warning/danger + track) for both themes
- replace hardcoded green/red/amber/blue across ~20 files with tokens
- fix light-mode bugs (bg-white/10, rgba white gauges) via theme-aware track
- add named text-2xs (11px) step; unify ad-hoc text-[10px]/[11px]
- consistent card elevation (shadow-sm) + opt-in interactive hover

Fonts & perf:
- self-host DM Sans / JetBrains Mono via @fontsource-variable (font-display: swap)
- drop render-blocking Google Fonts link; remove unused Geist dep

Accessibility & mobile:
- global prefers-reduced-motion; focus-visible on custom buttons
- StatusDot role/aria-label; aria-sort on sortable table headers
- Button auto nativeButton=false when rendered as Link/anchor
- 100vh -> dvh in app shell; pointer-coarse min 44px touch targets

Loading & types:
- Skeleton primitive + table loading state on InstancesPage
- fix all 36 pre-existing tsc errors (Select null coercion, SDN query keys,
  Dashboard Rec typing, VMInstance, profile language, JSX namespace)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-04 06:40:48 +05:00
2025-12-15 12:36:10 +05:00
2026-06-22 02:58:35 +05:00

PVEmanager

Modern web panel for managing Proxmox servers, virtual machines and LXC containers

Version License Docker Python FastAPI Proxmox


Overview

PVEmanager is a self-hosted web panel that provides a unified interface for managing multiple Proxmox VE servers and clusters. It covers the full VM/LXC lifecycle — from provisioning to monitoring — with role-based access control, notifications, and IP address management.

Features

Infrastructure

  • Multi-server management — connect and manage multiple Proxmox servers and clusters from a single panel
  • VM & LXC lifecycle — create, start, stop, restart, resize, delete virtual machines and containers
  • Bulk operations — mass start / stop / restart / delete with queue and progress tracking
  • Snapshot management — create, rollback, delete snapshots with an async queue system
  • OS templates — deploy VMs from templates; cross-node replication handled automatically
  • Cloud image catalog — browse, download, and convert OS images from cloud repositories (default Proxmox mirrors and custom sources); auto-convert to VM templates with architecture-aware filtering
  • CT template deployment — create LXC containers directly from Proxmox CT template files (.tar.zst, .tar.gz) with full IPAM and SSH key integration
  • Unified Create Instance Wizard — multi-step wizard supporting both QEMU VM templates and LXC CT templates in a single flow
  • SDN support — manage Software-Defined Networking zones, VNets, and subnets; edit zones and VNets; auto-create IPAM networks for subnets
  • Node networking — manage node-level network interfaces (bridges, bonds, VLANs); apply/revert pending config
  • Networks page — unified UI for SDN and node interface management

Access & Console

  • VNC console — in-browser console via noVNC, no client software required
  • xterm.js terminal — full interactive shell directly in the browser for LXC containers
  • Remote commands — execute bash commands via QEMU Guest Agent
  • SSH Keys Management — personal SSH key library per user; keys selectable when deploying VMs/LXC; admin can manage keys for any user
  • RBAC v2 — granular role-based access control with per-resource permissions
  • Server assignment — directly assign specific Proxmox servers to users with workspace-conflict validation
  • VM/LXC ownership — assign an owner user to any VM or LXC container
  • Per-user quotas — limit each user's number of instances and total vCPU, RAM and disk; enforced at deploy time (HTTP 429), with admin management and self-service usage view
  • Session management — active session list, remote session revocation, login protection
  • Smart login redirect — users are automatically routed to the first page they have access to

Monitoring & Alerts

  • Real-time metrics — CPU, RAM, Disk, Network charts per node and per VM; live per-disk fill, IOPS and network I/O rates (bytes/sec) on the instance Overview tab and instances list
  • Background sync — automatic VM state synchronization from Proxmox API (status/current at 1 s granularity for running VMs)
  • Notifications — In-App (bell icon), Email (SMTP), Telegram (Bot API)
  • Audit log — full action log with user, timestamp, and details

Other

  • IPAM — IP Address Management with allocation history and orphan detection
  • Multilingual — Russian and English interface; language preference is per-user account
  • Encrypted credentials — sensitive fields stored encrypted in the database
  • Styled confirmation dialogs — all destructive actions use a consistent themed modal instead of the native browser confirm()

Quick Start

# 1. Clone
git clone https://git.tzim.uz/markmorado/pvemanager.git
cd pvemanager

# 2. Configure
cp .env.example .env
cp backend/.env.example backend/.env
# Edit .env — set POSTGRES_PASSWORD and TZ

# 3. Start
docker compose up -d

# 4. Open
# http://localhost:3001
# Default login: admin / admin123

Important: Change the default password immediately after first login.


Requirements

Requirement Minimum
Docker 24.x+
Docker Compose v2.x+
RAM 512 MB (app) + 256 MB (DB)
Proxmox VE 7.x / 8.x / 9.x

Configuration

Environment variables (.env)

# Database
POSTGRES_PASSWORD=your_secure_password

# Timezone (IANA format)
TZ=Europe/Moscow

# Update checks (for private repos — disable or provide a token)
DISABLE_UPDATE_CHECK=false
GITHUB_TOKEN=                     # optional, for private repo update checks

Notifications

Configured via the web interface — Settings → Notifications:

  • Email — SMTP server, port, login, password (Yandex, Gmail, Mail.ru and others)
  • Telegram — Bot token and Chat ID via @BotFather

Tech Stack

Layer Technology
Backend Python 3.12, FastAPI, SQLAlchemy
Frontend React 19, TypeScript, Vite 8
UI Components shadcn/ui, Tailwind CSS v4, lucide-react
State & Data TanStack Query v5, Zustand, React Router v7
Database PostgreSQL 16
Containerization Docker, Alpine Linux
Proxmox API proxmoxer
VNC noVNC
Charts Recharts
Terminal xterm.js
i18n i18next, react-i18next

Documentation

Document Description
WIKI.md Full user and administrator guide
CHANGELOG.md Version history and release notes

Contributing

  1. Fork the repository
  2. Create a feature branch: git checkout -b feature/my-feature
  3. Commit your changes: git commit -m 'feat: add my feature'
  4. Push: git push origin feature/my-feature
  5. Open a Pull Request

License

MIT — free to use, modify, and distribute.


Made with ❤️ for Proxmox users

Issues · Changelog · Wiki

Description
PVEmanager is a self-hosted platform for managing multiple Proxmox servers and clusters: VM, LXC, CT templates, SSH keys, backups, SDN networks, IPAM, RBAC v2, monitoring, and console access — all in one interface.
https://pvemanager.uz
Readme MIT 21 MiB
v1.17.0 Latest
2026-08-20 05:46:58 +05:00
Languages
Python 51.7%
TypeScript 36.9%
JavaScript 8.6%
Shell 2.5%
CSS 0.2%