← Canvas Host canvas.gliffy.tv

Email server on moneta

Feasibility study for self-hosting SMTP/IMAP on the lab box (moneta, Dell PowerEdge R720xd) behind Verizon FiOS at 96.241.219.199. Probed 2026-09-12. Scope: personal / small household & @gliffy.tv — not a commercial ESP.

YesCompute & storage fit
HybridBest practical path
NoFull public MX alone
~2–8 GBRAM for a mail stack

Verdict

Hardware can run a mail stack easily. Deliverability and ISP posture cannot. Running a full internet-facing MTA (inbound MX + direct outbound port 25) on this residential FiOS IP is a poor idea: the PTR is a Verizon pool name, there is no custom reverse DNS, and residential ranges are treated as spam-prone by major receivers. Prefer a hybrid: keep mailbox storage (IMAP) and webmail on moneta if you want, and send/receive through a relay or hosted MX (SES, Mailgun, Migadu, Fastmail, a $5 VPS, or Cloudflare Email Routing inbound).

1. Hardware snapshot (moneta)

ResourceMeasuredMail relevance
Chassis Dell PowerEdge R720xd · Ubuntu 22.04 Server-class, fine for always-on mail
CPU 2× Xeon E5-2670 v2 · 40 threads @ 2.5 GHz Overkill; mail is I/O + idle RAM, not CPU
RAM 126 GiB total · ~71 GiB available Mailcow-class stack wants ~6–10 GiB; easy
Disk Root 914 G (83% used) · /data 44 T (59%) Put maildirs on /data; avoid filling root
Swap 8 GiB · fully used Host is memory-pressure prone; don’t starve mail of RAM limits
Workload today ~78 Docker containers · load ~3–5 Busy homelab; mail is light if capped
Existing mail None (no Postfix/Dovecot/Mailcow/Stalwart) Greenfield; no migration conflict

2. Network & DNS reality

This is where feasibility flips from “easy Docker compose” to “will Gmail accept your mail?”

CheckResult (2026-09-12)Implication
Outbound TCP/25 Succeeds to Gmail / Google MX / other MXes FiOS is not currently blocking outbound 25 on this line
Outbound TCP/587 Succeeds (submission) Relay / smart-host path always available
Inbound TCP/25 Nothing listening; public :25 refused Need MTA + router forward; ISP inbound block still possible
PTR / rDNS pool-96-241-219-199.washdc.fios.verizon.net. Screams residential. No mail.gliffy.tv PTR
gliffy.tv MX / SPF / DMARC Empty (no MX, no TXT, no DMARC) Domain not mail-ready yet — easy to fix in Route 53
Public IP 96.241.219.199 (FiOS washdc pool) Shared reputation class with consumer CPE
DNS for zone AWS Route 53 nameservers You control MX/SPF/DKIM/DMARC once you choose a design

PTR is the hard stop for “direct send”

Even with outbound 25 open, major receivers score *.fios.verizon.net reverse DNS poorly. Verizon residential almost never lets you set a matching PTR for a custom hostname. Without aligned PTR + A + HELO, expect spam folders, soft rejects, or hard blocks at Outlook/Gmail after volume or first complaints. Port 25 open ≠ deliverable.

3. What “running an email server” actually means

RoleNeedsOn moneta alone?
IMAP / storage Disk + TLS + auth Yes — best use of this box
Webmail (Roundcube / SnappyMail) HTTP reverse proxy via Caddy Yes
Submission (clients → you on 587) Auth + TLS; then relay outbound Yes (LAN / VPN preferred)
Inbound MX (world → you on 25) Stable IP, open inbound 25, clean lists Risky on FiOS residential
Outbound MTA (you → world on 25) PTR, SPF, DKIM, warm IP, not PBL Poor on this PTR
Outbound via smart host SES / Mailgun / Migadu SMTP Yes — recommended

4. Stack options if you proceed

StackFootprintFit on monetaNotes
Stalwart Mail Server ~0.5–2 GB RAM Excellent Modern all-in-one; JMAP/IMAP/SMTP; good Docker story
docker-mailserver ~1–3 GB Excellent Postfix+Dovecot; well documented; easy relay
Mailcow ~6–10 GB + many containers OK if capped Heavier; nicer UI; compete with existing 78 containers
Maddy / Haraka + Dovecot Small Excellent More DIY; fine for a nerd lab
Hosted MX only (Migadu / Fastmail / Cloudflare Routing) Zero on moneta N/A Least ops; skip self-host entirely for @gliffy.tv

5. Recommended architectures

A — Don’t self-host MX (simplest)

Point gliffy.tv MX at Migadu / Fastmail / Google Workspace. Use moneta only for apps that send via that provider’s SMTP on 587. Feasibility: high. Ops: low.

B — Hybrid (best if you want “my server”)

Feasibility: high. Deliverability: good.

C — Full MX on moneta (not recommended)

Feasibility: technically runnable. Success as primary email: low. Expect spam classification, intermittent rejects, and pain when the residential IP reputation wobbles. Only sensible as a lab experiment, not for mail you care about.

D — VPS edge + moneta storage

$5–10/mo VPS with proper PTR hosts Postfix (MX + outbound). Moneta holds Dovecot maildirs over WireGuard, or syncs via IMAP. Best of both: clean IP reputation + fat local disk.

Feasibility: high. Cost: small. Ops: medium.

6. Resource budget if you install here

ItemSuggestion
Compose project /dock/mail (match other stacks)
Maildir / DB volume /data/mail (not root LV — root is 83% full)
RAM limit Hard-cap 4–8 GiB; host swap is already exhausted
DNS (Route 53) MX, SPF, DKIM TXT, DMARC (p=none first), optional MTA-STS
Caddy mail.gliffy.tv → webmail only; don’t publish raw SMTP on 443
Backups Daily maildir + DB snapshot to /data2 or offsite
Auth Prefer SSO later via Authentik; start with strong app passwords

7. Scorecard

QuestionAnswer
Can the hardware run Postfix/Dovecot/Stalwart? Yes — CPU/RAM/disk are ample
Can apps on the LAN send via a local submission port? Yes
Can you relay outbound through SES/Mailgun today? Yes (587 works)
Should @gliffy.tv primary MX live only on this FiOS IP? No — PTR / residential reputation
Should you send bulk or important mail direct from this IP? No
Is a lab / hobby mail experiment fine? Yes — treat as throwaway addresses

Bottom line

Feasible as storage + submission + relay client. Not feasible as a clean, standalone internet mail endpoint on this Verizon FiOS residential path without accepting deliverability pain. If you want self-hosted mail that actually works for humans, choose architecture B or D. If you just need @gliffy.tv inboxes, architecture A wins on time.

Probe notes: hostname moneta · WAN 96.241.219.199 · PTR pool-96-241-219-199.washdc.fios.verizon.net. · outbound 25/587 open · no local listeners on 25/465/587/993 · ~78 containers · swap full · Route 53 for gliffy.tv · no MX/SPF/DMARC yet.