v0.0.1 first commit
This commit is contained in:
@@ -1,2 +1,101 @@
|
||||
# Nextcloud_Backup
|
||||
# StFV Backup
|
||||
|
||||
## Modulares Python-Startsystem
|
||||
|
||||
Das Projekt ist jetzt in moderne, klar getrennte Module aufgeteilt:
|
||||
|
||||
- app/app_runner.py: Orchestrierung des kompletten Startablaufs
|
||||
- app/venv_manager.py: .venv-Pruefung, Erstellung und Re-Exec
|
||||
- app/dependencies.py: requirements-Parsing und Installation fehlender Pakete
|
||||
- app/config_store.py: SQLite-Schema, Laden und Speichern der Konfiguration
|
||||
- app/setup_wizard.py: Interaktive Erfassung von Erstkonfiguration
|
||||
- app/security.py: Passwort-Hashing und Verifikation
|
||||
- app/ui.py: Frische Konsolen-Ausgabe mit klaren Statusfarben
|
||||
- app/paths.py: Zentrale Pfadverwaltung
|
||||
|
||||
### Startlogik
|
||||
|
||||
- Start ausserhalb von .venv: automatische Erstellung und Neustart in .venv
|
||||
- requirements.txt wird geprueft, fehlende Pakete werden installiert
|
||||
- SQLite unter data/config.db wird geprueft/erstellt
|
||||
- Falls Konfiguration fehlt oder unvollstaendig ist, startet das Setup fuer:
|
||||
- IP
|
||||
- Port
|
||||
- Debug (true/false)
|
||||
- Adminuser
|
||||
- Adminpassword
|
||||
|
||||
### Bedeutung der Felder
|
||||
|
||||
- IP, Port, Debug: Laufzeitkonfiguration fuer den Flask-Webserver.
|
||||
- Adminuser, Adminpassword: Zugangsdaten fuer den Admin-Login im Browser.
|
||||
|
||||
Sicherheitsaspekt:
|
||||
- Das Passwort wird verdeckt eingegeben und ausschliesslich als PBKDF2-SHA256-Hash gespeichert.
|
||||
- Eine Verifikationsfunktion fuer Login-Checks ist vorbereitet.
|
||||
|
||||
### Browserzugriff
|
||||
|
||||
- Nach dem Start laeuft Flask auf der konfigurierten Adresse, z. B. http://127.0.0.1:5000
|
||||
- Der Root-Pfad leitet auf /login um.
|
||||
- Erfolgreiche Anmeldung fuehrt auf /dashboard.
|
||||
|
||||
### Admin-Menue
|
||||
|
||||
Nach dem Login stehen folgende Menuepunkte bereit:
|
||||
|
||||
- Dashboard: Liste der eingerichteten Backups mit letztem Lauf und Groesse
|
||||
- Neues Backup: SMB-Quelle/Ziel, Unterpfade, Target-Muster, Kompression und Verschluesselung
|
||||
- Server Settings: IP, Port und Debug fuer den Flask-Webserver
|
||||
- Admin Konto: Eigenen Admin-Benutzer und Passwort aendern
|
||||
- Benutzer: Neue Benutzer anlegen (optional mit Adminrechten)
|
||||
|
||||
### Backup-Konfiguration (aktuell)
|
||||
|
||||
- Source/Destination starten mit einem Typ-Dropdown: SMB, LOCAL, FTP, SFTP
|
||||
- Je nach Typ werden nur die passenden Felder eingeblendet
|
||||
- Source: Verbindungs-Testbutton pro Konfiguration
|
||||
- Destination: Verbindungs-Testbutton pro Konfiguration
|
||||
- SMB Browser: Verzeichnisse fuer Source und Destination direkt durchklickbar
|
||||
- Target: Frei definierbares Muster, z. B. backup_{date}_{time}
|
||||
- Kompression: zip, tar.gz, tar.bz2, tar.xz, 7z
|
||||
- Archiv-Passwort: wird verschluesselt gespeichert
|
||||
- SMB-Passwoerter: werden verschluesselt gespeichert
|
||||
|
||||
### Geplante Backup-Module
|
||||
|
||||
Das Dashboard ist auf den Ausbau fuer mehrere Zielsysteme vorbereitet:
|
||||
|
||||
- Nextcloud
|
||||
- Unraid
|
||||
- MS SQL (z. B. auf Win11 VM)
|
||||
- Transport-Protokolle wie FTP, SFTP, SMB, NFS
|
||||
|
||||
### Service fuer direkten Browser-Test
|
||||
|
||||
Damit der Server dauerhaft laeuft und du direkt im Browser testen kannst:
|
||||
|
||||
```bash
|
||||
./scripts/service.sh install
|
||||
./scripts/service.sh start
|
||||
```
|
||||
|
||||
Nutzliche Befehle:
|
||||
|
||||
```bash
|
||||
./scripts/service.sh status
|
||||
./scripts/service.sh restart
|
||||
./scripts/service.sh stop
|
||||
./scripts/service.sh logs
|
||||
./scripts/service.sh enable
|
||||
```
|
||||
|
||||
Service-Datei im Projekt:
|
||||
- deploy/systemd/nextcloud-backup.service
|
||||
|
||||
### Start
|
||||
|
||||
```bash
|
||||
python3 main.py
|
||||
```
|
||||
|
||||
|
||||
Reference in New Issue
Block a user