Mail-Graveyard/INSTALL.md
2026-07-14 19:24:50 +02:00

2.2 KiB

Mail-Graveyard — bauen & benutzen

1. Bauen

./compile.sh

Holt htmx ins frontend-js/dist, macht go mod tidy und baut ein statisches Binary für Linux und Windows (mail-graveyard / mail-graveyard.exe).

2. Konfig

cp config.json.example config.json

config.json (bleibt lokal, ist ge-.gitignore-t) setzt nur App-Sachen: Bind/Port, Admin-Login, DB-Pfad, mbox-Wurzel und das Forward-SMTP (nur fürs manuelle Weiterleiten aus dem Viewer). Die Umzugs-Konten legst du im Browser an, nicht hier.

3. Starten (Web)

./mail-graveyard --init-db  # nur beim ersten Start: DB aus db_path anlegen
./mail-graveyard            # danach normal, lauscht auf 127.0.0.1:8087

Fehlt die DB-Datei spaeter, startet Mail-Graveyard bewusst nicht mehr still mit einer leeren Datenbank. Dann db_path pruefen oder nur fuer eine echte Neuinstallation erneut --init-db benutzen.

Browser auf http://127.0.0.1:8087, mit Admin-Login aus config.json. Oberfläche im Outlook-2013-Look: Reiter Postfächer (Konten anlegen: Quelle alt → Ziel neu, Sicherheits-Modus tls/starttls/none, „Test" prüft beide Logins), Reiter Umzug (starten + Fortschritt), Reiter Betrachten (lokale mbox durchsehen, einzeln weiterleiten).

4. Starten (CLI — Cutover)

Ohne Web, z. B. als Cronjob oder Dauerlauf im Umzugsfenster:

./mail-graveyard --run all            # einmalig alle Konten (Delta)
./mail-graveyard --run dr-gold --watch  # ein Konto, Delta-Schleife bis Stop

Dank Message-ID-Cache kopiert jeder Lauf nur Neues — beliebig oft wiederholbar ohne Dubletten. Für den Dauerlauf reicht nohup/systemd/Aufgabenplanung.

5. Sicherheit

Tool hält fremde IMAP-Passwörter und kann Mails senden → Default bind 127.0.0.1. Falls remote nötig: hinter Caddy + /vadmin-Mail-2FA. config.json und *.db nie committen.

6. Reihenfolge bei einem echten Umzug

  1. Ziel-Postfächer beim neuen Hoster anlegen (archiv-…, temp-…).
  2. Konten im Browser eintragen, „Test" grün.
  3. --run laufen lassen, im Betrachten-Reiter / mbox stichprobenartig prüfen.
  4. Während der Umstellung --watch für das Delta laufen lassen.
  5. Domain portieren; danach zeigt der neue Hoster auf die Zielpostfächer.