Files
2026-04-21 15:10:35 +02:00

2.6 KiB
Raw Permalink Blame History

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

# 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

# DB sichern
cp data/imapsync.db data/imapsync.db.bak

# Komplettes Backup
tar -czf imapsync-backup-$(date +%Y%m%d).tar.gz data/