chore: bump version to 1.0.1, update README
- VERSION: 1.0.0 → 1.0.1 (patch — bug fixes only) - README: full rewrite with modern formatting, accurate badges, real GitHub URLs, complete feature list and tech stack table Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
270
README.md
270
README.md
@@ -1,129 +1,157 @@
|
|||||||
# 🖥️ PVEmanager
|
<div align="center">
|
||||||
|
|
||||||
Modern web panel for managing Proxmox servers, virtual machines and LXC containers.
|
# PVEmanager
|
||||||
|
|
||||||
[](CHANGELOG.md)
|
**Modern web panel for managing Proxmox servers, virtual machines and LXC containers**
|
||||||
[](LICENSE)
|
|
||||||
[](compose.yml)
|
|
||||||
|
|
||||||
## ✨ Key Features
|
[](CHANGELOG.md)
|
||||||
|
[](LICENSE)
|
||||||
|
[](compose.yml)
|
||||||
|
[](backend/)
|
||||||
|
[](backend/)
|
||||||
|
[](https://www.proxmox.com/)
|
||||||
|
|
||||||
- 🖥️ **Proxmox Integration** — Manage multiple servers and clusters
|
</div>
|
||||||
- 🎛️ **VM/LXC Management** — Start, Stop, Restart, Delete, Resize
|
|
||||||
- ⚡ **Bulk Operations** — Mass start/stop/restart/delete VMs and containers
|
|
||||||
- 🖵 **VNC Console** — Built-in console via noVNC
|
|
||||||
- ⌨️ **Remote Commands** — Bash via QEMU Guest Agent
|
|
||||||
- 📸 **Snapshots** — Create, delete, rollback VM/LXC snapshots with queue system
|
|
||||||
- 📋 **OS Templates** — Quick VM deployment from templates
|
|
||||||
- 🔄 **Cross-Node Templates** — Deploy templates to any cluster node with auto-replication
|
|
||||||
- 📦 **Smart LXC Creation** — Create containers from templates on any node with auto-migration
|
|
||||||
- 🌐 **IPAM** — IP Address Management
|
|
||||||
- 🔔 **Notifications** — Email, Telegram, In-App
|
|
||||||
- 📊 **Monitoring** — CPU, RAM, Disk, Network in real-time
|
|
||||||
- 🔒 **Security** — RBAC v2, IP blocking, session management, login protection
|
|
||||||
- 🌍 **Multilingual** — Russian and English
|
|
||||||
|
|
||||||
## 🚀 Quick Start
|
|
||||||
|
|
||||||
```bash
|
|
||||||
# Clone repository
|
|
||||||
git clone https://github.com/your-repo/pvemanager.git
|
|
||||||
cd pvemanager
|
|
||||||
|
|
||||||
# Copy configuration
|
|
||||||
cp .env.example .env
|
|
||||||
cp backend/.env.example backend/.env
|
|
||||||
|
|
||||||
# Start
|
|
||||||
docker compose up -d
|
|
||||||
|
|
||||||
# Open http://localhost:8000
|
|
||||||
# Login: admin / Password: admin123
|
|
||||||
```
|
|
||||||
|
|
||||||
> ⚠️ Make sure to change password after first login!
|
|
||||||
|
|
||||||
## 📖 Documentation
|
|
||||||
|
|
||||||
| Document | Description |
|
|
||||||
|----------|-------------|
|
|
||||||
| [📖 WIKI.md](WIKI.md) | **Complete User & Admin Guide** |
|
|
||||||
| [📝 CHANGELOG.md](CHANGELOG.md) | Change History |
|
|
||||||
|
|
||||||
## 🔔 Notifications
|
|
||||||
|
|
||||||
Notification system supports:
|
|
||||||
|
|
||||||
- **In-App** — Bell icon with badge in UI
|
|
||||||
- **Email** — SMTP (Yandex, Gmail, Mail.ru)
|
|
||||||
- **Telegram** — Via Bot API
|
|
||||||
|
|
||||||
Settings: **Settings** → **Notifications**
|
|
||||||
|
|
||||||
## 🛠️ Tech Stack
|
|
||||||
|
|
||||||
| Component | Technology |
|
|
||||||
|-----------|------------|
|
|
||||||
| Backend | FastAPI + Python 3.12 |
|
|
||||||
| Frontend | Jinja2 + Vanilla JS |
|
|
||||||
| Database | PostgreSQL 16 |
|
|
||||||
| Container | Docker + Alpine |
|
|
||||||
| Proxmox API | proxmoxer |
|
|
||||||
| VNC | noVNC |
|
|
||||||
|
|
||||||
## 📋 Requirements
|
|
||||||
|
|
||||||
- Docker & Docker Compose
|
|
||||||
- 2GB RAM minimum
|
|
||||||
- Proxmox VE 7.x / 8.x / 9.x
|
|
||||||
|
|
||||||
## 🔧 Configuration
|
|
||||||
|
|
||||||
### Main Variables (`.env`)
|
|
||||||
|
|
||||||
```bash
|
|
||||||
POSTGRES_PASSWORD=your_secure_password
|
|
||||||
TZ=Your/Timezone
|
|
||||||
```
|
|
||||||
|
|
||||||
### Private Repository Configuration
|
|
||||||
|
|
||||||
For private repositories, update checks need to be configured:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
# Disable update checks completely
|
|
||||||
DISABLE_UPDATE_CHECK=true
|
|
||||||
|
|
||||||
# OR use GitHub token for access
|
|
||||||
GITHUB_TOKEN=your_github_personal_access_token
|
|
||||||
```
|
|
||||||
|
|
||||||
To create GitHub token: https://github.com/settings/tokens (needs 'repo' scope)
|
|
||||||
|
|
||||||
### Notifications (SMTP and Telegram)
|
|
||||||
|
|
||||||
Email and Telegram notification settings are now managed via web interface:
|
|
||||||
1. Open **Settings → Notifications**
|
|
||||||
2. Fill in SMTP server details for email notifications
|
|
||||||
3. Enter Telegram bot token for Telegram notifications
|
|
||||||
|
|
||||||
## 🤝 Contributing
|
|
||||||
|
|
||||||
1. Fork the repository
|
|
||||||
2. Create feature branch
|
|
||||||
3. Commit changes
|
|
||||||
4. Push and create Pull Request
|
|
||||||
|
|
||||||
## 📜 License
|
|
||||||
|
|
||||||
MIT License — see [LICENSE](LICENSE)
|
|
||||||
|
|
||||||
## 📞 Support
|
|
||||||
|
|
||||||
- 📖 [Documentation (WIKI.md)](WIKI.md)
|
|
||||||
- 🐛 [Issues](https://github.com/your-repo/pvemanager/issues)
|
|
||||||
- 📝 [Changelog](CHANGELOG.md)
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
## 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
|
||||||
|
- **SDN support** — manage Software-Defined Networking zones, VNets, and subnets
|
||||||
|
|
||||||
|
### Access & Console
|
||||||
|
- **VNC console** — in-browser console via noVNC, no client software required
|
||||||
|
- **Remote commands** — execute bash commands via QEMU Guest Agent
|
||||||
|
- **RBAC v2** — granular role-based access control with per-resource permissions
|
||||||
|
- **Session management** — active session list, remote session revocation, login protection
|
||||||
|
|
||||||
|
### Monitoring & Alerts
|
||||||
|
- **Real-time metrics** — CPU, RAM, Disk, Network charts per node and per VM
|
||||||
|
- **Background sync** — automatic VM state synchronization from Proxmox API
|
||||||
|
- **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
|
||||||
|
- **Encrypted credentials** — sensitive fields stored encrypted in the database
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Quick Start
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# 1. Clone
|
||||||
|
git clone https://github.com/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:8000
|
||||||
|
# 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`)
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# 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](https://t.me/BotFather)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Tech Stack
|
||||||
|
|
||||||
|
| Layer | Technology |
|
||||||
|
|---|---|
|
||||||
|
| Backend | Python 3.12, FastAPI, SQLAlchemy |
|
||||||
|
| Frontend | Jinja2 templates, Vanilla JS, Bootstrap 5 |
|
||||||
|
| Database | PostgreSQL 16 |
|
||||||
|
| Containerization | Docker, Alpine Linux |
|
||||||
|
| Proxmox API | proxmoxer |
|
||||||
|
| VNC | noVNC |
|
||||||
|
| Charts | Chart.js |
|
||||||
|
| Terminal | xterm.js |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Documentation
|
||||||
|
|
||||||
|
| Document | Description |
|
||||||
|
|---|---|
|
||||||
|
| [WIKI.md](WIKI.md) | Full user and administrator guide |
|
||||||
|
| [CHANGELOG.md](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](LICENSE) — free to use, modify, and distribute.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
<div align="center">
|
||||||
|
|
||||||
Made with ❤️ for Proxmox users
|
Made with ❤️ for Proxmox users
|
||||||
|
|
||||||
|
[Issues](https://github.com/markmorado/pvemanager/issues) · [Changelog](CHANGELOG.md) · [Wiki](WIKI.md)
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|||||||
Reference in New Issue
Block a user