diff --git a/docs/architecture/mailserver-visual.html b/docs/architecture/mailserver-visual.html
deleted file mode 100644
index 8d45627e..00000000
--- a/docs/architecture/mailserver-visual.html
+++ /dev/null
@@ -1,665 +0,0 @@
-
-
-
-
-
-
-Mail Server Architecture โ viktorbarzin.me
-
-
-
-
-
-
-
-
-
-
-
-
- Operational
- Mail Server Architecture
- Self-hosted email infrastructure for viktorbarzin.me on Kubernetes with CrowdSec protection
-
- docker-mailserver 15.0.0
- |
- Updated 2026-04-12
-
-
-
-
-
-
-
-
-
30m
-
Alert Threshold
-
-
-
-
Local
-
Traffic Policy
-
-
-
-
-
-
Inbound Mail Flow
-
-
-
-
๐ง
-
Sender MTA
-
MX lookup
-
-
-
-
๐
-
mail.viktorbarzin.me
-
176.12.22.76
-
-
-
-
๐ก
-
pfSense
-
port 25 fwd
-
-
-
-
โ
-
MetalLB
-
ETP: Local
-
-
-
-
๐ฌ
-
Postfix
-
+ CrowdSec
-
-
-
-
๐
-
Rspamd
-
spam/DKIM/DMARC
-
-
-
-
๐ฅ
-
Dovecot
-
IMAP :993
-
-
-
-
-
-
-
-
Outbound Mail Flow
-
-
-
-
๐ฌ
-
Postfix
-
relayhost
-
-
-
-
๐
-
Mailgun EU
-
smtp.eu.mailgun.org
-
-
-
-
๐ง
-
Recipient
-
IP reputation handled
-
-
-
-
-
-
-
-
DNS Records
-
-
- | Type | Name | Value | Status |
-
-
- | MX | viktorbarzin.me | mail.viktorbarzin.me (pri 1) | OK |
- | A | mail.viktorbarzin.me | 176.12.22.76 (DNS-only) | OK |
- | AAAA | mail.viktorbarzin.me | 2001:470:6e:43d::2 | OK |
- | SPF | viktorbarzin.me | v=spf1 include:mailgun.org -all | Hard Fail |
- | DKIM | s1._domainkey | RSA 1024-bit (Mailgun outbound) | OK |
- | DKIM | mail._domainkey | RSA 2048-bit (Rspamd signing) | OK |
- | DMARC | _dmarc | p=quarantine; pct=100 | OK |
- | MTA-STS | _mta-sts | v=STSv1; id=20260412 | OK |
- | TLSRPT | _smtp._tls | rua=mailto:postmaster@viktorbarzin.me | OK |
-
-
-
-
-
โ
-
PTR Mismatch: Reverse DNS returns 176-12-22-76.pon.spectrumnet.bg (ISP-assigned) instead of mail.viktorbarzin.me. ISP-controlled, cannot fix. Minimal impact โ Gmail/Outlook rely on SPF/DKIM/DMARC.
-
-
-
-
-
-
Security Layers
-
-
-
๐ก CrowdSec
-
- crowdsecurity/postfix + dovecot collections
- - Real client IPs via ETP: Local on
10.0.20.202
- - Automatic brute-force detection & ban
-
-
-
-
๐ Rspamd
-
- - Spam filtering + phishing detection
- - DKIM signing (selector:
mail, 2048-bit)
- - DMARC verification on inbound
- - Auto-learns from Junk folder
-
-
-
-
๐ฆ Postfix Rate Limiting
-
- - 10 connections/min per client
- - 30 messages/min per client
- - Now effective with real IPs (ETP: Local)
-
-
-
-
๐ TLS Enforcement
-
- - Let's Encrypt wildcard cert
- - MTA-STS enforces TLS for inbound
- - TLSRPT for failure reporting
- - STARTTLS on SMTP, SSL on IMAP
-
-
-
-
-
-
-
-
Monitoring & Alerts
-
-
-
๐
-
-
MailServerDown
-
No replicas for 5m
-
-
-
-
๐ง
-
-
EmailRoundtripFailing
-
Probe failing for 30m
-
-
-
-
โฑ
-
-
EmailRoundtripStale
-
No success in >40m
-
-
-
-
โ
-
-
EmailRoundtripNeverRun
-
Metric absent for 40m
-
-
-
-
-
- | Monitor | Type | Target | Interval |
-
- | E2E Roundtrip Probe | CronJob | Mailgun API โ MX โ IMAP | */10 * * * * |
- | SMTP External | Uptime Kuma | 176.12.22.76:25 | 60s |
- | Dovecot Exporter | Prometheus | :9166/metrics | scrape |
-
-
-
-
-
-
-
-
Terraform Stacks
-
- | Stack | Path | Resources |
-
- | Mailserver | stacks/mailserver/ | Namespace, Deployment, Service, CronJob, PVCs |
- | DNS | stacks/cloudflared/ | MX, SPF, DKIM x2, DMARC, MTA-STS, TLSRPT |
- | Monitoring | stacks/monitoring/ | Prometheus alert rules |
- | CrowdSec | stacks/crowdsec/ | postfix + dovecot collections, log acquisition |
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/docs/architecture/mailserver.md b/docs/architecture/mailserver.md
index 1c70c087..5cd46f08 100644
--- a/docs/architecture/mailserver.md
+++ b/docs/architecture/mailserver.md
@@ -41,7 +41,7 @@ graph TB
end
subgraph "Monitoring"
- PROBE[E2E Roundtrip Probe
CronJob every 10m] -->|Mailgun API| SENDER
+ PROBE[E2E Roundtrip Probe
CronJob every 20m] -->|Mailgun API| SENDER
PROBE -->|IMAP check| DOVECOT
PROBE --> PUSH[Pushgateway + Uptime Kuma]
DEXP[Dovecot Exporter
:9166] --> PROM[Prometheus]