Files
IMAPSYNC/README.md
T
2026-04-21 15:10:35 +02:00

95 lines
2.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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/
```