systeme:omnimail:entwurf-v2-1
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.
| Beide Seiten, vorherige ÜberarbeitungVorherige ÜberarbeitungNächste Überarbeitung | Vorherige Überarbeitung | ||
| systeme:omnimail:entwurf-v2-1 [03/11/2026 23:45] – [Teil 2 · Die beteiligten Dienste] Holger Wehrs | systeme:omnimail:entwurf-v2-1 [04/11/2026 00:30] (aktuell) – OmniMail Teil 4: Benutzertext, ohne Diagramm; OmniBackup™ Holger Wehrs | ||
|---|---|---|---|
| Zeile 1: | Zeile 1: | ||
| ====== OmniMail™ · Dokumentationsentwurf V2.1 ====== | ====== OmniMail™ · Dokumentationsentwurf V2.1 ====== | ||
| - | **Stand:** 2026-11-03. **Geltung: | + | **Stand:** 2026-11-04. **Geltung: |
| {{ : | {{ : | ||
| **Gestaltungsvergleich: | **Gestaltungsvergleich: | ||
| + | |||
| + | |||
| + | ===== Vorwort ===== | ||
| + | Im Rahmen des Designs hat der Autor den verschiedenen Bereichen oder Routinen im OmniMail™ umgangssprachliche Namen gegeben, damit man sich ein besseres Bild von den Kommunikationswegen machen kann. In einigen Schaugrafiken sind diese Namen als **Codename** angegeben. So haben wir z.B. den Mail-Eingangsserver **// | ||
| ---- | ---- | ||
| Zeile 30: | Zeile 34: | ||
| primaryBorderColor: | primaryBorderColor: | ||
| lineColor: "# | lineColor: "# | ||
| - | edgeLabelBackground: | + | edgeLabelBackground: |
| fontFamily: " | fontFamily: " | ||
| fontSize: " | fontSize: " | ||
| Zeile 62: | Zeile 66: | ||
| .edgeLabel { font-size: 10px !important; } | .edgeLabel { font-size: 10px !important; } | ||
| .edgeLabel .labelBkg { | .edgeLabel .labelBkg { | ||
| - | background-color: # | + | background: |
| - | | + | |
| - | border-radius: 10px; | + | border: |
| - | padding: 2px 5px; | + | |
| - | box-sizing: border-box; | + | |
| } | } | ||
| + | .edgeLabel .pill { | ||
| + | background: #eaf4fb; | ||
| + | border-radius: | ||
| + | box-shadow: inset 0 0 0 1px #b8ccdc; | ||
| + | display: inline-block; | ||
| + | padding: 1px 4px; | ||
| + | } | ||
| + | .edgeLabel .spacer { visibility: hidden; } | ||
| + | .edgeLabel .edge-row { display: inline-flex; | ||
| --- | --- | ||
| flowchart LR | flowchart LR | ||
| Zeile 176: | Zeile 187: | ||
| primaryBorderColor: | primaryBorderColor: | ||
| lineColor: "# | lineColor: "# | ||
| - | edgeLabelBackground: | + | edgeLabelBackground: |
| fontFamily: " | fontFamily: " | ||
| fontSize: " | fontSize: " | ||
| Zeile 208: | Zeile 219: | ||
| .edgeLabel { font-size: 10px !important; } | .edgeLabel { font-size: 10px !important; } | ||
| .edgeLabel .labelBkg { | .edgeLabel .labelBkg { | ||
| - | background-color: # | + | background: |
| - | | + | |
| - | border-radius: 10px; | + | border: |
| - | padding: 2px 5px; | + | |
| - | box-sizing: border-box; | + | |
| } | } | ||
| + | .edgeLabel .pill { | ||
| + | background: #eaf4fb; | ||
| + | border-radius: | ||
| + | box-shadow: inset 0 0 0 1px #b8ccdc; | ||
| + | display: inline-block; | ||
| + | padding: 1px 4px; | ||
| + | } | ||
| + | .edgeLabel .spacer { visibility: hidden; } | ||
| + | .edgeLabel .edge-row { display: inline-flex; | ||
| --- | --- | ||
| flowchart LR | flowchart LR | ||
| - | Q[" | + | Q[" |
| - | R --> | + | R --> |
| - | R --> | + | R --> |
| classDef decision stroke:# | classDef decision stroke:# | ||
| class R decision | class R decision | ||
| Zeile 227: | Zeile 245: | ||
| Für '' | Für '' | ||
| </ | </ | ||
| + | |||
| + | **Eingangspost** | ||
| < | < | ||
| Zeile 239: | Zeile 259: | ||
| primaryBorderColor: | primaryBorderColor: | ||
| lineColor: "# | lineColor: "# | ||
| - | edgeLabelBackground: | + | edgeLabelBackground: |
| fontFamily: " | fontFamily: " | ||
| fontSize: " | fontSize: " | ||
| Zeile 271: | Zeile 291: | ||
| .edgeLabel { font-size: 10px !important; } | .edgeLabel { font-size: 10px !important; } | ||
| .edgeLabel .labelBkg { | .edgeLabel .labelBkg { | ||
| - | background-color: # | + | background: |
| - | | + | |
| - | border-radius: 10px; | + | border: |
| - | padding: 2px 5px; | + | |
| - | box-sizing: border-box; | + | |
| } | } | ||
| + | .edgeLabel .pill { | ||
| + | background: #eaf4fb; | ||
| + | border-radius: | ||
| + | box-shadow: inset 0 0 0 1px #b8ccdc; | ||
| + | display: inline-block; | ||
| + | padding: 1px 4px; | ||
| + | } | ||
| + | .edgeLabel .spacer { visibility: hidden; } | ||
| + | .edgeLabel .edge-row { display: inline-flex; | ||
| --- | --- | ||
| - | flowchart | + | flowchart |
| - | | + | E1[" |
| - | direction LR | + | E2 --> |
| - | | + | |
| - | E2 --> | + | |
| - | end | + | |
| - | subgraph A["Ausgangspost" | + | |
| - | direction LR | + | |
| - | A1[" | + | |
| - | A2 -->|" | + | |
| - | A3 --> | + | |
| - | end | + | |
| </ | </ | ||
| - | <WRAP tip round 80% justify> | + | **Ausgangspost** |
| - | ===== DNS und Zertifikats-Kurier ===== | + | |
| - | Alois verwendet für seine DNS-Abfragen den externen BIND-Dienst; | + | |
| - | </ | + | |
| < | < | ||
| Zeile 308: | Zeile 323: | ||
| primaryBorderColor: | primaryBorderColor: | ||
| lineColor: "# | lineColor: "# | ||
| - | edgeLabelBackground: | + | edgeLabelBackground: |
| fontFamily: " | fontFamily: " | ||
| fontSize: " | fontSize: " | ||
| Zeile 340: | Zeile 355: | ||
| .edgeLabel { font-size: 10px !important; } | .edgeLabel { font-size: 10px !important; } | ||
| .edgeLabel .labelBkg { | .edgeLabel .labelBkg { | ||
| - | background-color: # | + | background: |
| - | | + | |
| - | border-radius: 10px; | + | border: |
| - | padding: 2px 5px; | + | |
| - | box-sizing: border-box; | + | |
| } | } | ||
| + | .edgeLabel .pill { | ||
| + | background: #eaf4fb; | ||
| + | border-radius: | ||
| + | box-shadow: inset 0 0 0 1px #b8ccdc; | ||
| + | display: inline-block; | ||
| + | padding: 1px 4px; | ||
| + | } | ||
| + | .edgeLabel .spacer { visibility: hidden; } | ||
| + | .edgeLabel .edge-row { display: inline-flex; | ||
| --- | --- | ||
| flowchart LR | flowchart LR | ||
| - | | + | |
| - | H["int-mailgateway"] -->|"DNS" | + | |
| - | | + | |
| - | | + | |
| - | T --> W["kontrollierter Reload"] | + | |
| - | W --> S["Stalwart | + | |
| </ | </ | ||
| - | < | + | < |
| - | ===== Monitoring und Backup | + | ===== Zwei getrennte DNS-Wege |
| - | Ein Host-Monitor prüft die Mailstraße und löst bei relevanten Zustandswechseln Alarm aus. Der Alarmdienst | + | Alois verwendet für DNS-Abfragen den externen BIND-Dienst; |
| + | </ | ||
| + | |||
| + | ---- | ||
| + | |||
| + | ====== Teil 3 · Der Zertifikats-Kurier ====== | ||
| + | |||
| + | <WRAP tip round 80% justify> | ||
| + | ===== Warum braucht OmniMail einen Kurier? ===== | ||
| + | Caddy beschafft | ||
| </ | </ | ||
| Zeile 372: | Zeile 400: | ||
| primaryBorderColor: | primaryBorderColor: | ||
| lineColor: "# | lineColor: "# | ||
| - | edgeLabelBackground: | + | edgeLabelBackground: |
| fontFamily: " | fontFamily: " | ||
| fontSize: " | fontSize: " | ||
| Zeile 404: | Zeile 432: | ||
| .edgeLabel { font-size: 10px !important; } | .edgeLabel { font-size: 10px !important; } | ||
| .edgeLabel .labelBkg { | .edgeLabel .labelBkg { | ||
| - | background-color: # | + | background: |
| - | | + | |
| - | border-radius: 10px; | + | border: |
| - | padding: 2px 5px; | + | |
| - | box-sizing: border-box; | + | |
| } | } | ||
| + | .edgeLabel .pill { | ||
| + | background: #eaf4fb; | ||
| + | border-radius: | ||
| + | box-shadow: inset 0 0 0 1px #b8ccdc; | ||
| + | display: inline-block; | ||
| + | padding: 1px 4px; | ||
| + | } | ||
| + | .edgeLabel .spacer { visibility: hidden; } | ||
| + | .edgeLabel .edge-row { display: inline-flex; | ||
| --- | --- | ||
| flowchart LR | flowchart LR | ||
| - | | + | |
| - | | + | |
| - | | + | |
| - | | + | K --> |
| + | | ||
| </ | </ | ||
| + | |||
| + | <WRAP info round 80% justify> | ||
| + | ===== Was prüft und verteilt er? ===== | ||
| + | - **Eingang: | ||
| + | - **Prüfung: | ||
| + | - **Übergabe: | ||
| + | - **Aktivierung: | ||
| + | </ | ||
| + | |||
| + | <WRAP tip round 80% justify> | ||
| + | ===== Wer bekommt ein Zertifikat? ===== | ||
| + | ^ Ziel ^ Wofür? ^ Wie wird es aktiv? ^ | ||
| + | | Stalwart | IMAPS, Submission und die interne HTTPS-Verwaltung | Stalwarts lokaler TLS-Reload | | ||
| + | | Alois | STARTTLS am SMTP-Eingang | lokaler Postfix-Reload | | ||
| + | | Privater Konfigurationsdienst | HTTPS für AutoConfig und AutoDiscover | kontrollierter Reload des internen Webdienstes | | ||
| + | </ | ||
| + | |||
| + | <WRAP important round 80% justify> | ||
| + | ===== Wenn etwas schiefgeht ===== | ||
| + | Ein unvollständiges oder unpassendes Paket wird nicht veröffentlicht. Schlägt das Nachladen fehl, versucht der jeweilige Wächter die vorherige gültige Version wiederherzustellen. Der vorhandene Fünf-Minuten-Zyklus prüft neue Pakete und überspringt unveränderte Versionen. Private Schlüssel gehören ausschließlich in die geschützten Fächer, nicht in diese Seite, ins Git-Repository oder in Protokolle. | ||
| + | </ | ||
| + | |||
| + | ---- | ||
| + | |||
| + | ====== Teil 4 · Monitoring und Backup ====== | ||
| + | |||
| + | <WRAP info round 80% justify> | ||
| + | ===== Wenn die Mailstraße Hilfe braucht ===== | ||
| + | Ein Host-Monitor prüft die beteiligten Dienste und meldet relevante Zustandswechsel per Info-Mail an das hinterlegte Administrator-Konto. Der Alarmdienst versendet seine Nachricht über Stalwart. | ||
| + | </ | ||
| + | |||
| + | <WRAP tip round 80% justify> | ||
| + | ===== Sicherung und Wiederherstellung ===== | ||
| + | Die Mail- und Konfigurationsdateien werden über das in einem separaten Artikel beschriebene OmniBackup™ in regelmäßigem Rhythmus archiviert. Die Sicherung erfolgt derzeit stündlich in mehrere verschlüsselte Borg-Repositories. | ||
| + | </ | ||
| ---- | ---- | ||
| - | ====== Teil 3 · Technische Referenz ====== | + | ====== Teil 5 · Technische Referenz ====== |
| <WRAP info round 80% justify> | <WRAP info round 80% justify> | ||
| Zeile 462: | Zeile 533: | ||
| Bei Zustellproblemen zuerst Monitorstatus, | Bei Zustellproblemen zuerst Monitorstatus, | ||
| </ | </ | ||
| - | |||
| - | ===== VOE und Quellenstand ===== | ||
| - | Die VOE (**V**ereinigung der **O**mniMail-**E**lektriker) verlangt für jede produktive Leitung eine geprüfte Nummer und Verbindungsmatrix. Für die obigen Mailkanten ist keine vollständige autoritative OM-LINK-Liste belegt; deshalb tragen die neuen Diagramme keine erfundenen Leitungsnummern. Verifiziert ist der gesonderte Vertrag '' | ||
| - | |||
| - | Quellstand: Live-Docker-Inspect und Listener-Readback vom 03.11.2026; M01-DEPLOY-010, | ||
| - | |||
| ---- | ---- | ||
systeme/omnimail/entwurf-v2-1.1793745927.txt.gz · Zuletzt geändert: von Holger Wehrs
