# Proxmox VPS Panel Secure Защищённая переработка `Proxmox-VPS-Panel`. ## Текущий этап: авторизация Добавлены: - SQLAlchemy-модель `User`; - PostgreSQL-сессии; - регистрация пользователей; - автоматическое назначение роли `admin` первому пользовователю; - Argon2id-хеширование паролей; - OAuth2 password login; - короткоживущий Bearer JWT; - endpoint `/auth/me`; - проверка активного пользователя; - frontend-формы регистрации и входа. API-пути доступны через frontend-прокси: ```text POST /api/auth/register POST /api/auth/login GET /api/auth/me ``` ## Запуск ```bash cp .env.example .env # задайте SECRET_KEY длиной не менее 32 символов, # POSTGRES_PASSWORD, параметры Proxmox и ALLOW_ORIGINS docker compose up -d --build ``` Frontend будет доступен на `http://IP-АДРЕС-VM:5173`. ## Проверка регистрации через curl ```bash curl -X POST http://127.0.0.1:5173/api/auth/register \ -H 'Content-Type: application/json' \ -d '{"email":"admin@example.local","password":"ChangeMe-Strong-123"}' ``` Проверка входа: ```bash curl -X POST http://127.0.0.1:5173/api/auth/login \ -H 'Content-Type: application/x-www-form-urlencoded' \ -d 'username=admin@example.local&password=ChangeMe-Strong-123' ``` ## Следующие этапы 1. Перенести модели шаблонов и инстансов. 2. Добавить Alembic-миграции вместо временного `create_all()`. 3. Реализовать очередь провижининга и резервирование VMID. 4. Добавить Proxmox client с ожиданием и повторными попытками задач. 5. Реализовать административную панель пользователей и шаблонов. 6. Добавить создание и управление VM/LXC. 7. Добавить rate limiting, аудит и автоматические тесты. ## Безопасность Не используйте `root@pam` для API-токена. Создайте отдельного Proxmox-пользователя с минимальным набором прав. Не публикуйте `.env`, не отключайте TLS-проверку и настройте резервное копирование PostgreSQL.