Files
pvemanager/README.ru.md
markmorado c768da93ee
Some checks failed
Deploy to Production / Trigger production update (push) Failing after 10s
SonarCloud / SonarCloud Analysis (push) Failing after 2m27s
docs: release notes and version bump for v1.17.0
2026-08-20 05:46:47 +05:00

16 KiB
Raw Blame History

PVEmanager

Современная веб-панель для управления серверами Proxmox, виртуальными машинами и контейнерами LXC

Версия Лицензия Docker Python FastAPI Proxmox


Описание

PVEmanager — это самостоятельно размещаемая веб-панель, которая предоставляет единый интерфейс для управления несколькими серверами и кластерами Proxmox VE. Она охватывает полный жизненный цикл ВМ/LXC — от развертывания до мониторинга — с контролем доступа на основе ролей, уведомлениями и управлением IP-адресами.

Возможности

Инфраструктура

  • Управление несколькими серверами — подключайте и управляйте несколькими серверами и кластерами Proxmox с единой панели
  • Жизненный цикл ВМ и LXC — создавайте, запускайте, останавливайте, перезагружайте, изменяйте размер, удаляйте виртуальные машины и контейнеры
  • Массовые операции — массовый запуск/остановка/перезагрузка/удаление с очередью и отслеживанием прогресса
  • Управление снимками — создавайте, откатывайте, удаляйте снимки с помощью асинхронной системы очередей
  • Шаблоны ОС — развертывайте ВМ из шаблонов; автоматическая репликация между узлами
  • Каталог облачных образов — просмотр и скачивание образов ОС из облачных репозиториев (стандартные зеркала Proxmox и кастомные источники); автоматическая конвертация в шаблоны VM с фильтрацией по архитектуре
  • Извлечение/монтирование ISO — подключайте или извлекайте ISO на работающей ВМ, с переключателем порядка загрузки (с диска или с ISO), применяемым через гибридную перезагрузку — штатное ACPI-выключение с откатом на принудительную остановку
  • Развёртывание CT-шаблонов — создавайте LXC-контейнеры напрямую из CT-файлов Proxmox (.tar.zst, .tar.gz) с интеграцией IPAM и SSH-ключей
  • Единый мастер создания инстансов — многошаговый мастер для создания как VM-шаблонов QEMU, так и LXC CT-шаблонов
  • Поддержка SDN — управляйте зонами Software-Defined Networking, VNet и подсетями; редактируйте зоны и VNet; автоматическое создание сетей IPAM для подсетей
  • Сетевые интерфейсы узлов — управляйте сетевыми интерфейсами на уровне узла (мосты, связки, VLAN); применяйте/откатывайте ожидающую конфигурацию
  • Страница сетей — унифицированный интерфейс для управления SDN и сетевыми интерфейсами узлов

App Store

  • Каталог self-hosted приложений — установка в один клик, каждое приложение — в собственном unprivileged LXC с Docker Compose (1 приложение = 1 LXC); мультиисточниковый каталог — runtipi/runtipi-appstore (~265 приложений) плюс опциональный getumbrel/umbrel-apps (~380 приложений), выбор через APPSTORE_SOURCES
  • Мастер установки — динамические параметры приложения (form_fields), расширенные ресурсы LXC, автогенерация секретов, живой прогресс установки по WebSocket и показ учётных данных один раз
  • Жизненный цикл в «Мои приложения» — start / stop / restart / логи / удаление, с фоновой реконсиляцией (детект orphaned) и статусом по каждому приложению
  • Обновление и откат — обновления на основе снапшотов (docker compose pull) с health-check и откатом в один клик к pre-update снапшоту
  • Глобальный трей операций — сверните идущую установку или сборку золотого шаблона в глобальный трей, который переживает навигацию между страницами и перезагрузку вкладки; клик по плашке разворачивает диалог с того места, где вы остановились
  • Безопасность by design — только unprivileged LXC, шифрование секретов (Fernet), защита pct exec/pct push от инъекций, RBAC app:view / app:install / app:manage

Доступ и консоль

  • Консоль VNC — консоль в браузере через noVNC, не требуется клиентское ПО
  • Терминал xterm.js — полностью интерактивный shell непосредственно в браузере для контейнеров LXC
  • Удаленные команды — выполняйте команды bash через QEMU Guest Agent
  • Управление SSH-ключами — личная библиотека SSH-ключей для каждого пользователя; ключи можно выбирать при развёртывании VM/LXC; админ может управлять ключами любого пользователя
  • RBAC v2 — детальный контроль доступа на основе ролей с разрешениями для каждого ресурса; маршруты защищены и на бэкенде, и на фронтенде, а не просто скрыты из сайдбара
  • Страница профиля без разрешений — настройки аккаунта (профиль, пароль, 2FA, SSH-ключи) находятся на странице /profile и не требуют никакого разрешения на настройки панели, так что ограничение setting:view не может заблокировать пользователю доступ к собственному аккаунту
  • Назначение серверов — напрямую назначайте конкретные серверы Proxmox пользователям с проверкой конфликтов рабочих областей
  • Владелец ВМ/LXC — назначайте пользователя-владельца любой ВМ или контейнеру LXC; непривилегированные пользователи везде видят только свои инстансы, включая дашборд и ресурсы по ноде; владелец теперь проставляется автоматически при создании, а для уже существующих инстансов есть миграция для бэкфилла
  • Квоты на пользователя — ограничение количества инстансов и суммарных vCPU, RAM и диска для каждого пользователя; проверка при развёртывании (HTTP 429); сама кнопка «Создать инстанс» отключается, когда квота исчерпана, с указанием какого именно лимита не хватает
  • Управление сессиями — список активных сессий, отзыв удаленных сессий, защита входа
  • Умное перенаправление входа — пользователи автоматически маршрутизируются на первую страницу, к которой у них есть доступ

Мониторинг и оповещения

  • Метрики в реальном времени — CPU, RAM, диск, сеть для каждого узла и ВМ; живые данные по каждому диску, IOPS и скорости сетевого I/O (байт/с) прямо в Overview-вкладке и списке инстансов
  • Фоновая синхронизация — автоматическая синхронизация состояния ВМ из API Proxmox (опрос status/current с гранулярностью 1 с)
  • Уведомления — In-App (иконка колокольчика), Email (SMTP), Telegram (Bot API)
  • Журнал аудита — полный журнал действий с пользователем, временем и деталями

Прочее

  • Командная палитра — палитра по Ctrl+K с поиском по единому реестру навигации для перехода на любую страницу с клавиатуры
  • IPAM — управление IP-адресами с историей выделения и обнаружением сиротских адресов
  • Многоязычность — интерфейс на русском и английском языках; язык задаётся отдельно для каждого аккаунта в профиле
  • Зашифрованные учетные данные — чувствительные поля хранятся зашифрованными в базе данных
  • Стилизованные диалоги — все подтверждения действий используют единое тематическое модальное окно вместо нативного confirm() браузера

Быстрый старт

# 1. Клонируем
git clone https://git.tzim.uz/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:3001
# Вход по умолчанию: admin / admin123

Важно: Измените пароль по умолчанию сразу после первого входа.

Установка одной командой

bootstrap.sh устанавливает панель одной командой — как на обычном хосте Debian/Ubuntu, так и напрямую на хосте Proxmox VE: на хосте PVE скрипт сам создаёт LXC на Debian 12, устанавливает панель внутри и регистрирует этот хост как первую ноду панели (пароль от Proxmox никуда не передаётся):

git clone https://git.tzim.uz/markmorado/pvemanager.git
cd pvemanager
bash bootstrap.sh

Требования

Требование Минимум
Docker 24.x+
Docker Compose v2.x+
ОЗУ 512 МБ (приложение) + 256 МБ (БД)
Proxmox VE 7.x / 8.x / 9.x

Конфигурация

Переменные окружения (.env)

# База данных
POSTGRES_PASSWORD=ваш_надежный_пароль

# Часовой пояс (формат IANA)
TZ=Europe/Moscow

# Проверка обновлений (для приватных репозиториев — отключите или предоставьте токен)
DISABLE_UPDATE_CHECK=false
GITHUB_TOKEN=                     # опционально, для проверки обновлений в приватном репозитории

Уведомления

Настраиваются через веб-интерфейс — Настройки → Уведомления:

  • Email — SMTP сервер, порт, логин, пароль (Yandex, Gmail, Mail.ru и другие)
  • Telegram — токен бота и Chat ID через @BotFather

Стек технологий

Слой Технология
Backend Python 3.12, FastAPI, SQLAlchemy
Frontend React 19, TypeScript, Vite 8
UI-компоненты shadcn/ui, Tailwind CSS v4, lucide-react
Состояние и данные TanStack Query v5, Zustand, React Router v7
База данных PostgreSQL 16
Контейнеризация Docker, Alpine Linux
API Proxmox proxmoxer
VNC noVNC
Графики Recharts
Терминал xterm.js
i18n i18next, react-i18next

Документация

Документ Описание
WIKI.md Полное руководство пользователя и администратора
CHANGELOG.md История версий и примечания к выпускам
CONTRIBUTING.md Как внести вклад — настройка, стиль кода, процесс PR
SECURITY.md Политика безопасности и сообщение об уязвимостях

Участие в разработке

Мы рады вашему вкладу! См. CONTRIBUTING.md — там описаны настройка окружения, стиль кода, формат коммитов и процесс PR.


Лицензия

MIT — свободно использовать, изменять и распространять.


Сделано с ❤️ для пользователей Proxmox

Проблемы · История изменений · Вики · Участие · Безопасность