No description
- Jinja 71.6%
- Shell 28.4%
Mail Archiver (ASP.NET Core) built from the source of the GitHub release: upstream ships no binaries, so the tag is cloned and checked against the commit GitHub reports for it, then published self-contained with the .NET SDK (SHA-512 from Microsoft's release metadata) in /var/tmp – /tmp is a tmpfs too small for the SDK on trixie. PostgreSQL from the module, one sandboxed unit on port 5000, admin user created by the app from a generated secret, mail account credentials encrypted with a per-instance key. ~@resources stays allowed in the unit: CoreCLR fails to start without it. Tested: check-app.sh green (lint, template files, dev container twice, second run changed=1); login as admin with the password from settings.env (302 to the forced first password change); update path 2609.1 -> 2610.1 in the dev container, smoke test green afterwards. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01DtgjuBCL7QGuUvdpXm41EC |
||
|---|---|---|
| .forgejo/workflows | ||
| .vibe | ||
| files | ||
| handlers | ||
| tasks | ||
| templates | ||
| tests | ||
| .clinerules | ||
| .cursorrules | ||
| .windsurfrules | ||
| AGENTS.md | ||
| CHANGELOG.md | ||
| CLAUDE.md | ||
| GEMINI.md | ||
| iac.json | ||
| README.md | ||
iac-mail-archiver
Mail Archiver archiviert E-Mails aus IMAP-, Microsoft-365- und Gmail-Konten, macht sie durchsuchbar und exportiert sie wieder (EML, MBox, Wiederherstellung in ein Postfach). Nativ auf Debian 13 als LXC oder VM auf Proxmox VE. Teil von iac.
Installation (auf der Proxmox-Node)
bash -c "$(curl -fsSL https://iac.heyer.systems/mail-archiver/ct.sh)" # LXC
bash -c "$(curl -fsSL https://iac.heyer.systems/mail-archiver/vm.sh)" # VM
Ohne Dialog: IAC_NONINTERACTIVE=1 und var_*-Variablen – am einfachsten mit dem Generator auf
https://iac.heyer.systems/apps/mail-archiver/.
Anmeldung und Zugriff
- Weboberfläche:
http://<ip>:5000/, von überall erreichbar (Port 5000/tcp in der Firewall offen). Kein TLS – für den Zugriff von außen gehört ein Reverse Proxy davor. - Benutzer
admin, Passwort im Gast:grep mail_archiver_admin_password /etc/iac/settings.env. Mail Archiver legt den Benutzer beim ersten Start an und verlangt bei der ersten Anmeldung ein neues Passwort; danach gilt nur noch das neue,updateändert es nicht.
Aufbau
- Upstream veröffentlicht keine Binärdateien. Die Installation holt den Quellcode des
GitHub-Release-Tags, prüft ihn gegen den Commit, den GitHub für den Tag meldet, und baut ihn mit
dem .NET-SDK (SHA-512-geprüft von Microsoft) als eigenständige Anwendung inklusive Laufzeit. Das
SDK liegt nur während des Builds in
/var/tmp; die NuGet-Pakete kommen beim Build von nuget.org. - Jede Version liegt in
/opt/mail-archiver/releases/mail-archiver-<version>,/opt/mail-archiver/currentzeigt auf die aktive. Alte Versionen bleiben für ein Zurückwechseln liegen und können gelöscht werden. - Datenbank: PostgreSQL aus Debian (Modul
postgresql), Datenbank und Benutzermailarchiver. Die archivierten Mails samt Anhängen liegen dort – die Datenbank ist das, was gesichert werden muss. - Konfiguration:
/etc/mail-archiver/mail-archiver.env(von iac verwaltet). Eigene Einstellungen in/etc/mail-archiver/local.envim selben Format, z. B.MailSync__IntervalMinutes=30(alle Schlüssel: Setup.md), danachsystemctl restart mail-archiver. - Die Zugangsdaten der Mailkonten werden mit einem pro Instanz erzeugten Schlüssel
(
mail_archiver_credential_keyin/etc/iac/settings.env) verschlüsselt gespeichert. Ohne diesen Schlüssel sind sie nach einer Wiederherstellung der Datenbank nicht mehr lesbar – mit sichern. - Daten:
/var/lib/mail-archiver(Uploads, Exporte, Data-Protection-Schlüssel); Dateien für den lokalen Import nach/var/lib/mail-archiver/imports.
Update (im Gast)
update
Eine neue Version wird aus dem Quellcode gebaut (einige Minuten, rund 2 GB RAM und 2 GB freier
Platz in /var/tmp). Das Datenbankschema migriert Mail Archiver beim Start selbst. Die .NET-Laufzeit
steckt in der jeweiligen Version und wird mit der nächsten Mail-Archiver-Version aktualisiert.
Selbsttest (im Gast)
bash /var/lib/iac/src/core/bin/iac-smoke