Webinterface

This commit is contained in:
2025-09-26 15:39:01 +00:00
parent b7256868ee
commit 12564647a2
2 changed files with 79 additions and 9 deletions

View File

@@ -1,15 +1,39 @@
# Aruba PoE # PoE Manager Web-App
``` Webbasierte Verwaltung und Monitoring von PoE-Devices und Switches.
Dieses Repo konfiguriert auf Ubuntu/Debian einen Service, Die App ermöglicht:
dieser Service ist in der Lage IPs zu Pingen und entsprechend daran POE auf vorgegebenen Ports an einem Aruba Switch
zu Aktivieren bzw. Deaktivieren.
```
## Wichtig: - Anzeige von Device-Status (Online/Offline)
- Verwaltung von Devices und Switches
- Einstellung des Prüfintervalls
- Live-Log-Ansicht
- Benutzerverwaltung mit Adminrechten
User und Passwort setzen! ---
/usr/local/bin/custom/poe.sh
## **Installation (nach einem frischen Clone)**
```bash
# Repo klonen
git clone https://gitea.int.eertmoed.net/WiS/Aruba-PoE.git /srv/poe_manager
cd /srv/poe_manager
# Virtuelle Umgebung erstellen
python3 -m venv venv
source venv/bin/activate
# Abhängigkeiten installieren
pip install --upgrade pip
pip install -r requirements.txt
# Datenbank initialisieren
python create_db.py
# Admin-Benutzer erstellen
python create_admin.py
# Web-App starten
python app.py --host=0.0.0.0 --port=5000
Download: Download:

View File

@@ -0,0 +1,46 @@
---
## **create_db.py**
```python
import sqlite3
conn = sqlite3.connect("sqlite.db")
c = conn.cursor()
# Switches
c.execute("""
CREATE TABLE IF NOT EXISTS switches (
hostname TEXT PRIMARY KEY,
ip TEXT NOT NULL,
username TEXT NOT NULL,
password TEXT NOT NULL
);
""")
# Devices
c.execute("""
CREATE TABLE IF NOT EXISTS devices (
mac TEXT PRIMARY KEY,
rpi_ip TEXT NOT NULL,
switch_hostname TEXT NOT NULL,
port TEXT NOT NULL,
name TEXT NOT NULL,
FOREIGN KEY (switch_hostname) REFERENCES switches(hostname)
);
""")
# Benutzer
c.execute("""
CREATE TABLE IF NOT EXISTS users (
id INTEGER PRIMARY KEY AUTOINCREMENT,
username TEXT UNIQUE NOT NULL,
password TEXT NOT NULL,
is_admin INTEGER DEFAULT 0
);
""")
conn.commit()
conn.close()
print("Datenbank sqlite.db wurde initialisiert.")