Proxmox Provisioner Enhanced
Rozšířená Flask aplikace pro vytváření LXC kontejnerů na Proxmoxu.
Co je nové
- validace hostname, VMID, CPU, RAM, disk, VLAN a static IP
- předvyplněný subnet
192.168.50.xs editací jen posledního oktetu - progress bar pro průběh tasku
- logy tasku přímo v UI
- detail nově vytvořeného kontejneru po dokončení
- přihlášení do aplikace
Přihlášení do aplikace
Aplikace používá jednoduché session-based přihlášení přes Flask.
V .env nastav:
APP_USERNAME=admin
APP_PASSWORD=ChangeThisNow!
Pro produkci je lepší použít hash místo prostého hesla:
from werkzeug.security import generate_password_hash
print(generate_password_hash("silne-heslo"))
Výstup vlož do:
APP_PASSWORD_HASH=scrypt:...
Pak můžeš APP_PASSWORD smazat.
Instalace
apt update
apt install -y python3 python3-venv python3-pip
cd /opt
unzip proxmox-provisioner-enhanced.zip
cd proxmox-provisioner-enhanced
cp .env.example .env
Uprav .env a potom:
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
python app.py
Aplikace poběží na:
http://IP_LXC:8000
Poznámky k Proxmox oprávněním
Token musí umět:
- číst
/nodes - číst storage na vybraném node
- číst obsah storage s template
- vytvářet LXC na cílovém node
Struktura projektu
app.py- backend a APItemplates/- HTML šablonystatic/js/app.js- klientská logika, polling tasku, progress barstatic/css/style.css- styly
Další vhodné kroky
- audit log do souboru
- whitelist povolených node, storage a bridge
- reverzní proxy přes nginx
- gunicorn + systemd
- CSRF ochrana pro login a create endpoint
Description
Languages
Python
99.2%
JavaScript
0.3%
HTML
0.2%
PowerShell
0.1%