SharpMailserver SHARPMAILSERVER
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).

Referenz / Konfiguration
{
  "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.