# ImapSync Manager Docker-basiertes System für IMAP-E-Mail-Migrationen mit Web-GUI. ## Features - **Web-GUI** – Dashboard, Job-Verwaltung, Log-Viewer, Statistiken - **Authentifizierung** – MD5-Passwörter in SQLite, JWT-Token - **Rollensystem** – Admin / Operator / Viewer - **Job-Scheduler** – Manuell oder per Cron-Zeitplan - **Auftragsverwalter (Worker)** – Führt imapsync-Jobs sequenziell aus - **Log-Archiv** – Vollständige imapsync-Logs pro Ausführung ## Schnellstart ```bash # Starten docker compose up -d # Logs verfolgen docker compose logs -f # Zugriff http://localhost:8080 ``` **Standard-Login:** `admin` / `admin` → Passwort sofort nach dem ersten Login ändern! ## Verzeichnisstruktur ``` imapsync-docker/ ├── docker-compose.yml ├── backend/ ← FastAPI + Web-GUI │ ├── Dockerfile │ ├── main.py │ ├── requirements.txt │ └── static/ │ └── index.html ├── worker/ ← imapsync-Ausführung │ ├── Dockerfile │ └── worker.py └── data/ ← Persistente Daten (auto-erstellt) ├── imapsync.db ← SQLite-Datenbank └── logs/ ← imapsync-Logdateien ``` ## Sicherheit - Passwörter werden als MD5-Hash in SQLite gespeichert - JWT-Token läuft nach 12h ab - SECRET_KEY in docker-compose.yml anpassen! ## Cron-Beispiele | Ausdruck | Bedeutung | |---------------|-------------------------| | `0 2 * * *` | Täglich um 02:00 Uhr | | `0 */6 * * *` | Alle 6 Stunden | | `0 2 * * 0` | Wöchentlich, So 02:00 | | `30 1 * * 1-5`| Mo-Fr um 01:30 Uhr | ## Rollen | Rolle | Benutzer | Jobs | Start/Stop | Logs | |----------|----------|------|-----------|------| | admin | ✅ | ✅ | ✅ | ✅ | | operator | ✗ | ✅ | ✅ | ✅ | | viewer | ✗ | ✗ | ✗ | ✅ | ## Umgebungsvariablen ### Web-Container | Variable | Standard | Beschreibung | |--------------|--------------------|-----------------------| | DB_PATH | /data/imapsync.db | Pfad zur SQLite-DB | | LOG_DIR | /data/logs | Log-Verzeichnis | | SECRET_KEY | (Pflicht ändern!) | JWT-Signaturschlüssel | ### Worker-Container | Variable | Standard | Beschreibung | |---------------|----------|------------------------------| | POLL_INTERVAL | 15 | Sekunden zwischen DB-Abfragen | ## Datensicherung ```bash # DB sichern cp data/imapsync.db data/imapsync.db.bak # Komplettes Backup tar -czf imapsync-backup-$(date +%Y%m%d).tar.gz data/ ```