Kapitel 13
Compliance, Storage & Betrieb
Admin:
#pSystem
Storage-Engines (SQLite, MS SQL Server, PostgreSQL 18), Cluster & Updater
SharpMailserver trennt strukturierte Metadaten und Volltext-Indizes sauber von deduplizierten, Zstandard-komprimierten Roh-Nachrichten (-62 % Speicherbedarf). Du hast die freie Wahl zwischen drei erstklassig unterstützten Datenbank-Engines ohne externe Zusatzdienste wie Redis, Elasticsearch oder Kafka.
Praxis-Tipp & Architektur-Hinweis
Vor jedem In-Place-Update prüft der integrierte 1-Klick-Updater im Admin-Cockpit (#pSystem) automatisch die kryptografische SHA-256-Prüfsumme des offiziellen Release-Archivs. Deine appsettings.Production.json, Let's-Encrypt-Zertifikate und das Datenverzeichnis bleiben bei jedem Update garantiert unangetastet.
Beispielkonfiguration in appsettings.Production.json
Wähle 'Sqlite' (Einzelserver), 'SqlServer' (Windows / Azure SQL) oder 'Postgres' (Linux HA-Cluster).
{
"Storage": {
"Provider": "SqlServer",
"ConnectionString": "Server=sql01.intern;Database=SharpMail;Integrated Security=True;TrustServerCertificate=True;",
"BlobDirectory": "D:\\SharpMailserverData\\blobs"
}
}
Einstellungen, Standardwerte & Best Practices
| Einstellung / Ort | Funktion | Standardwert | Best Practice im Betrieb |
|---|---|---|---|
SQLite WAL (Storage:Provider = Sqlite) |
Eingebettete Hochleistungs-Engine im Write-Ahead-Logging-Modus inklusive FTS5-Volltextsuche ohne externen Datenbankdienst. | Standard für Einzelserver |
Perfekt für Einzelserver, Mittelstand, VM/Proxmox und Appliances bis ca. 250 aktive Postfächer auf lokalem NVMe/SSD-Speicher (keine SMB-Netzlaufwerke für WAL!). |
Microsoft SQL Server (SqlServer) |
Native Anbindung an SQL Server 2019-2025, SQL Server Express, Linux-Container und Azure SQL inklusive sp_getapplock-Cluster und eigener Präfixsuche. | READ_COMMITTED_SNAPSHOT auto |
Beste Wahl in Microsoft-Rechenzentren: Funktioniert sofort auch auf SQL Server Express ohne installiertes Full-Text-Search-Feature. |
PostgreSQL 18 (Postgres) |
Skalierbare Multi-Node-Engine mit Echtzeit-Push über LISTEN/NOTIFY (< 2 ms), UNLOGGED-Koordinationstabellen und pg_try_advisory_lock. | Empfohlen für Linux-Cluster |
Referenz-Architektur für große Installationen (500 bis 100.000+ Postfächer) und horizontale Active-Active-Cluster über mehrere Rechenzentrums-Nodes. |
1-Klick-System-Updater (#pSystem) |
Vergleicht die laufende Version mit /api/releases/latest und aktualisiert Windows-Dienst, Linux-systemd oder macOS-Installation auf Knopfdruck. | SHA-256-geprüft |
Updates bequem außerhalb von Haupt-Versandspitzen per 1 Klick im Cockpit (oder per install.sh --update / MSI-Assistent) einspielen. |