This repository has been archived on 2026-08-09 . You can view files and clone it. You cannot open issues or pull requests or push a commit.
6bcc36ea971e767285d0dbae84efb300601630a3
Proxmox VPS Panel Secure
Защищённая переработка Proxmox-VPS-Panel.
Реализовано
- регистрация и OAuth2 password login;
- Argon2id-хеширование паролей;
- короткоживущий Bearer JWT;
- SQLAlchemy-модель пользователя;
- модели
TemplateиInstance; - строгая валидация ресурсов шаблонов;
- активные шаблоны доступны авторизованным пользователям;
- создание и деактивация шаблонов только администратором;
- список инстансов с проверкой ownership;
- администратор видит все инстансы;
- frontend-формы регистрации и входа.
API текущего этапа
POST /api/auth/register
POST /api/auth/login
GET /api/auth/me
GET /api/templates
POST /api/templates # только admin
DELETE /api/templates/{template_id} # только admin
GET /api/instances
GET /api/admin/ping # только admin
Обновление уже установленной VM
cd ~/Proxmox-VPS-Panel-secure
git pull origin main
docker compose up -d --build
docker compose ps
После запуска таблицы templates и instances создаются автоматически текущим временным механизмом create_all().
Создание VM-шаблона через API
Сначала получите JWT через /api/auth/login, затем выполните:
curl -X POST http://127.0.0.1:5173/api/templates \
-H "Authorization: Bearer $TOKEN" \
-H 'Content-Type: application/json' \
-d '{
"name":"ubuntu-24",
"description":"Ubuntu 24.04 cloud-init",
"guest_type":"vm",
"source_vmid":1000,
"cores":2,
"memory_mb":2048,
"disk_gb":20
}'
Для LXC вместо source_vmid используется source_template, например local:vztmpl/debian-12-standard.tar.zst.
Следующие этапы
- Добавить Alembic-миграции и убрать временный
create_all(). - Добавить Proxmox client с TLS, таймаутами и ожиданием задач.
- Реализовать создание VM/LXC из выбранного шаблона.
- Добавить очередь провижининга и резервирование VMID.
- Добавить действия start/stop/reboot/delete.
- Добавить UI шаблонов и инстансов.
- Добавить rate limiting, аудит и автоматические тесты.
Безопасность
Не используйте root@pam для API-токена. Создайте отдельного Proxmox-пользователя с минимальным набором прав. Не публикуйте .env, не отключайте TLS-проверку и настройте резервное копирование PostgreSQL.
Description
Защищённая версия self-hosted панели для управления VM и LXC в Proxmox VE
178 KiB
Languages
Python
66.8%
JavaScript
31.2%
Dockerfile
1.4%
HTML
0.6%