Files
archivmail/README.md
T
sysops d360c9a5ba feat(PROJ-17): Admin Dashboard Systemauslastung immer anzeigen
- Systemauslastungs-Sektion wird immer gerendert (nicht nur bei Erfolg)
- Fehlermeldung wenn /api/admin/system/stats nicht erreichbar ist
- Feature-Status auf In Review gesetzt

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-14 11:43:19 +01:00

95 lines
2.6 KiB
Markdown

# archivmail
Selbst gehostetes Mail-Archiv-System für Unternehmen. E-Mails werden aus IMAP, SMTP und EML/MBOX-Quellen importiert, volltext-indexiert (Xapian) und verschlüsselt archiviert.
## Features
- Import via IMAP, SMTP-Journaling und EML/MBOX-Upload
- Volltext-Suche über Xapian
- AES-256-GCM-Verschlüsselung der archivierten Mails
- Anhang-Deduplizierung
- Rollenmodell: `user`, `auditor`, `admin`
- Audit-Log (PostgreSQL + Append-only Logdatei)
## Installation
```bash
# Systembenutzer anlegen
useradd -r -s /sbin/nologin archivmail
# Verzeichnisse anlegen
mkdir -p /etc/archivmail
mkdir -p /var/archivmail/store
mkdir -p /var/archivmail/astore
mkdir -p /var/lib/archivmail/xapian
mkdir -p /var/log/archivmail
# Berechtigungen setzen
chown -R archivmail:archivmail /var/archivmail /var/lib/archivmail /var/log/archivmail
# Encryption Key generieren
openssl rand -base64 32 > /etc/archivmail/keyfile
chmod 400 /etc/archivmail/keyfile
chown archivmail:archivmail /etc/archivmail/keyfile
# Konfiguration
cp config.example.yml /etc/archivmail/config.yml
# config.yml anpassen (Datenbank, SMTP-Port, etc.)
# Systemd-Service aktivieren
cp archivmail.service /lib/systemd/system/
systemctl daemon-reload
systemctl enable --now archivmail
```
## Verzeichnisstruktur
```
/etc/archivmail/
├── config.yml # Hauptkonfiguration
└── keyfile # AES-256-GCM Key (chmod 400)
/var/archivmail/
├── store/ # Mailkörper (.m, verschlüsselt)
│ └── <server_id>/<customer_id>/<hash>/xxxxx.m
└── astore/ # Anhänge dedupliziert (verschlüsselt)
└── <hash>
/var/lib/archivmail/
└── xapian/ # Volltext-Index
/var/log/archivmail/
└── audit.log # Audit-Log (JSON Lines, append-only)
```
## Standard-Zugangsdaten
> **Wichtig:** Passwörter nach dem ersten Login ändern!
| Benutzer | Passwort | Rolle |
|----------|----------|-------|
| `admin@archivmail` | `archivmailrockz` | Admin (Konfiguration, Nutzerverwaltung) |
| `auditor@archivmail` | `archivmailrockz` | Auditor (alle E-Mails + Audit-Log) |
### Rollenübersicht
| Rolle | E-Mails (eigene) | E-Mails (alle) | Audit-Log | Konfiguration |
|-------|:-:|:-:|:-:|:-:|
| `user` | ✅ | ❌ | ❌ | ❌ |
| `auditor` | ✅ | ✅ | ✅ | ❌ |
| `admin` | ❌ | ❌ | ❌ | ✅ |
## Technologie
| Komponente | Technologie |
|-----------|-------------|
| Backend | Go |
| Datenbank | PostgreSQL |
| Volltext-Index | Xapian |
| Verschlüsselung | AES-256-GCM |
| Webserver | eingebettet (Go net/http) |
## Lizenz
Proprietär