PVEmanager: Self-hosted панель для управления Proxmox кластерами
Если вы управляете несколькими Proxmox VE серверами, то знаете, что родной интерфейс не предназначен для мульти-кластерного управления. Каждый сервер — отдельная вкладка, нет единой картины, аудит логирование ограничено.
Я разработал PVEmanager — панель, которая закрывает эти проблемы.
Что умеет PVEmanager
Дашборд
Главная панель показывает сводку по всем подключённым Proxmox кластерам:
- Статус узлов (онлайн/офлайн)
- Быстрые метрики CPU/RAM
- Активные сессии пользователей
Управление VM
Полный жизненный цикл VM:
- Создание из шаблонов
- Старт / стоп / рестарт
- Resize дисков и памяти
- Удаление с подтверждением
- Bulk операции над группой машин
LXC контейнеры
Аналогичные операции для LXC контейнеров + прямой доступ в терминал.
VNC консоль
Встроенный noVNC для доступа к VM прямо из браузера — не нужен отдельный клиент.
xterm.js терминал
Полноценный shell для LXC контейнеров через xterm.js. Работает даже без QEMU Guest Agent.
Безопасность и доступ
RBAC v2
Гранулярные роли с правами на ресурсы:
- Создание кастомных ролей
- Привязка к конкретным VM/LXC
- Запрет конфликтов workspace
Нотификации
Три канала уведомлений:
- In-App — колокольчик в интерфейсе
- Email — SMTP (Yandex, Gmail, Mail.ru)
- Telegram — Bot API через @botfather
Мониторинг
Метрики в реальном времени
Chart.js отображает:
- CPU загрузку по ядрам
- Использование RAM
- Disk I/O
- Network трафик
Графики доступны как на уровне узла, так и на уровне отдельной VM.
Управление сетью
IPAM (IP Address Management)
- Аллокация IP адресов
- История выделений
- Детекция orphan адресов
- Экспорт списков
Аудит
Лог действий
Полная история действий:
- Кто выполнил (пользователь)
- Что сделал (операция)
- Когда (таймстемп)
- На каком ресурсе (VM/LXC/узел)
Настройки
Глобальные настройки:
- Таймзона
- Проверка обновлений
- GitHub токен для приватных репо
- SMTP конфигурация
- Telegram бот токен
Архитектура
| Слой | Технология |
|---|---|
| Backend | Python 3.12, FastAPI, SQLAlchemy |
| Frontend | Jinja2, Vanilla JS, Bootstrap 5 |
| Database | PostgreSQL 16 |
| Containers | Docker, Alpine Linux |
| Proxmox API | proxmoxer |
| VNC | noVNC |
| Графики | Chart.js |
| Терминал | xterm.js |
Быстрый старт
1. Клонирование
git clone https://github.com/markmorado/pvemanager.git
cd pvemanager
2. Конфигурация
cp .env.example .env
cp backend/.env.example backend/.env
# Редактируйте .env — установите POSTGRES_PASSWORD и TZ
3. Запуск
docker compose up -d
4. Доступ
Откройте http://localhost:8000
Логин по умолчанию: admin / admin123
Важно: Смените пароль после первого входа!
Конфигурация .env
# Database
POSTGRES_PASSWORD=your_secure_password
# Timezone (IANA format)
TZ=Europe/Tashkent
# Update checks (для приватных репо — отключите или укажите токен)
DISABLE_UPDATE_CHECK=false
GITHUB_TOKEN= # опционально
Для кого этот проект
- Сисадмины с парком Proxmox серверов
- Хостинг провайдеры (Eskiz, например 😄)
- Команды DevOps needing RBAC и аудит
- Лаборатории с тестовыми кластерами
Что дальше
Roadmap:
- [ ] Интеграция с Proxmox Backup Server
- [ ] Автоматические бэкапы по расписанию
- [ ] Мониторинг template deployment
- [ ] API для внешнего orchestration
Документация:
- WIKI.md — полный гайд
- CHANGELOG.md — история версий
Contributing
# Fork репозиторий
# Создайте feature branch
git checkout -b feature/my-feature
# Коммит
git commit -m 'feat: add my feature'
# Push
git push origin feature/my-feature
# Pull Request
License
MIT — свободно для использования, модификации и распространения.
GitHub: markmorado/pvemanager
Вопросы? Открывайте issues или пишите в Telegram.











Top comments (0)