d360c9a5ba
- 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>
95 lines
2.6 KiB
Markdown
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
|