Erster Start
Beim ersten Start richtet sich die Anwendung selbst ein: fehlende Laufzeit wird nachinstalliert, eine .env erzeugt, die Datenbank migriert und ein lokaler Server gestartet. Ein Administratorpasswort ist noch nicht gesetzt.
Ablauf
start.bat(Windows) bzw../start.sh(Linux) ausführen.- Die Ausgabe nennt die tatsächliche URL, z. B.
http://127.0.0.1:8000. - Der Browser öffnet sich, sobald der Server lauscht.
- Die Oberfläche zeigt die Ersteinrichtung, solange kein Administratorpasswort gesetzt ist.
- Passwort festlegen (mindestens 12 Zeichen); danach erscheint die Anmeldung.
Ein Standardpasswort existiert nicht. Ohne gesetztes Passwort ist keine Anmeldung möglich; die Anwendung startet in diesem Zustand nur die Ersteinrichtung.
Administratorpasswort setzen
In der Oberfläche:
- Benutzername (Vorgabe
admin) und Passwort zweimal eingeben. - Mindestlänge 12 Zeichen, Bestätigung ist Pflicht.
- Nach dem Speichern wird der Argon2id-Hash in die
.envgeschrieben (ADMIN_PASSWORD_HASH) und ist sofort aktiv.
Gespeichert wird nur der Hash, nie das Passwort. Neu setzen lässt es sich später über die Kommandozeile:
cd backend
..\runtime\python\python.exe -m app.cli set-password
cd backend
../runtime/python/bin/python3 -m app.cli set-password
Die Eingabe erfolgt verdeckt. Ein vergessenes Passwort ist damit wiederherstellbar, sofern Zugriff auf den Programmordner besteht.
Portauswahl
Der Start wählt den Port in dieser Reihenfolge:
APP_PORTaus der.env, falls gesetzt.- Port aus
APP_BASE_URL. - Port 8000.
Ist der Port belegt oder durch eine Windows-Richtlinie gesperrt, erscheint beim Binden WinError 10013. Der Start prüft dann die folgenden Ports (bis 8025):
[Hinweis] Port 8000 ist belegt oder gesperrt — verwende 8001.
URL: http://127.0.0.1:8001
OAuth-Redirect: http://127.0.0.1:8001/api/v1/oauth/callback
Für die Microsoft-Anmeldung muss die in Entra registrierte Redirect-URI zum tatsächlichen Port passen. Die Anwendung ändert die OAuth-Konfiguration nicht automatisch. Für einen festen Port:
APP_PORT=8001
APP_BASE_URL=http://127.0.0.1:8001
| Exit-Code | Bedeutung |
|---|---|
| 0 | beendet, kein Fehler |
| 1 | Start nicht möglich (fehlende Laufzeit, Setup nötig) |
| 2 | Konfigurationsfehler |
| 3 | kein freier Port gefunden |
| 4 | zweite Instanz auf demselben Datenverzeichnis |
Eine zweite Instanz wird über data/queue.lock erkannt. Pro Datenverzeichnis ist genau eine Instanz zulässig.
Erste Schritte in der Oberfläche
1. Quelle vorbereiten
Für Microsoft 365: Tenant anlegen (Tenant-ID, Client-ID, Redirect-URI), Konto mit der Postfach-UPN anlegen, „Mit Microsoft anmelden“ ausführen und zustimmen — siehe Microsoft 365.
Für klassische IMAP-Postfächer: unter „IMAP-Quellserver“ einen Server anlegen (Host, Port, TLS, Passwort) und die Verbindung testen — siehe IMAP-Quellen.
2. Zielserver anlegen
Unter „Zielserver“ Host, Port (in der Regel 993), TLS-Modus und optional ein Standardpasswort hinterlegen. Das Passwort wird verschlüsselt gespeichert und nie wieder ausgelesen.
3. Ordner prüfen
Im Assistenten die Quelle verbinden und die Postfachvorschau öffnen. Sie zeigt den Ordnerbaum mit Nachrichtenzahlen, ausschließlich lesend — siehe Postfachvorschau.
4. Migration anlegen und starten
Der Assistent führt durch Quelle, Konto, Ordnerauswahl, Ziel und Zusammenfassung. Erst der letzte Schritt startet die Migration; sie wird in die Warteschlange eingereiht. Siehe Migration erstellen.
5. Verlauf prüfen
Unter „Migrationen“ und „Warteschlange“ stehen Status, Läufe, Protokolle und Abbruchmöglichkeiten. Siehe Migration überwachen.
Konfigurationsdatei
| Einstellung | Bedeutung | Standard |
|---|---|---|
APP_BASE_URL |
Basis-URL der Oberfläche | http://127.0.0.1:8000 |
APP_PORT |
fester Port beim Start | nicht gesetzt |
DATA_DIR |
Datenverzeichnis, relativ | data |
MAX_PARALLEL_MIGRATIONS |
gleichzeitige Migrationen | 2 |
QUEUE_POLL_SECONDS |
Abfrageintervall der Warteschlange | 2 |
RUN_MAX_SECONDS |
maximale Laufzeit, 0 = unbegrenzt |
0 |
RUN_LOG_MAX_BYTES |
Obergrenze je Protokolldatei | 5000000 |
SESSION_TTL_SECONDS |
Gültigkeit der Sitzung | 28800 |
IMAP_TIMEOUT_SECONDS |
Zeitlimit für Verbindungstests | 15 |
Nach Änderungen an der .env die Anwendung neu starten.
Nächster Schritt
- Neuinstallation: Installation unter Windows oder Installation unter Linux
- Quelle einrichten: Microsoft 365 oder IMAP-Quellen