Ephemera — Nền tảng email đa tên miền
Mô Tả Dự Án
Ephemera — nền tảng email inbound đa tên miền tự lưu trữ: hộp thư dùng một lần, nhận thư thời gian thực, REST API đầy đủ, admin panel và chống lạm dụng tích hợp. Fastify + Prisma + PostgreSQL + Redis, SMTP ingest riêng, React 19, Docker Compose, Prometheus/Grafana.
Tổng quan
Ephemera là nền tảng email inbound đa tên miền tự lưu trữ, với hộp thư dùng một lần (disposable inbox), giao diện web hiện đại và API đầy đủ — một giải pháp temp mail cho lập trình viên và đội nhóm muốn tự vận hành thay vì phụ thuộc dịch vụ bên thứ ba. Người dùng tạo hộp thư tức thì trên tên miền tùy ý, nhận thư thời gian thực, tải attachment, và tự động hóa toàn bộ qua REST API.
Kiến trúc & quyết định kỹ thuật
Hệ thống là một monorepo dịch vụ: API viết bằng Node.js + Fastify với xác thực JWT, dữ liệu trên Prisma + PostgreSQL + Redis, SMTP ingest bằng smtp-server + mailparser (attachment lưu đĩa), frontend React 19 + Vite + TailwindCSS, reverse proxy Caddy tự cấp HTTPS, monitoring Prometheus + Grafana, đóng gói Docker Compose một lệnh. API tách bạch route công khai (/health luôn public; /ready, /metrics public ở dev) và route nghiệp vụ bắt buộc Bearer token; gateway chuẩn là api.<domain> với alias app.<domain>/api/* được proxy và cắt prefix. Quản trị tên miền tuân theo chuẩn khả năng chuyển phát: wizard hiển thị bản ghi SPF/DKIM/DMARC cùng MTA-STS/TLS-RPT và verification token TXT để xác minh tên miền. Chống lạm dụng được thiết kế ngay từ đầu: rate limit SMTP theo IP/tên miền/inbox, quota theo hộp thư, CAPTCHA cho /public/inboxes (mặc định tắt), allowlist MIME và giới hạn dung lượng attachment, soft-delete kèm audit log và retention sweep cấu hình được. Observability có /metrics Prometheus, readiness probe ping DB, log có cấu trúc Pino.
Tính năng nổi bật
- Hộp thư dùng một lần trên nhiều tên miền tùy chỉnh, nhận thư thời gian thực
- REST API đầy đủ: domain, inbox, message, tìm kiếm, tải attachment
- Admin panel: quản lý người dùng, log, báo cáo, thống kê
- Wizard DNS hiển thị SPF/DKIM/DMARC/MTA-STS/TLS-RPT và token xác minh TXT
- Bộ điều khiển lạm dụng: rate limit, quota, CAPTCHA, allowlist attachment, blocklist người gửi
- Deploy production một lệnh với mặc định CORS cho extension; build ZIP extension
Trạng thái
README tuyên bố Production Ready và liệt kê deployment sống (app/api/grafana.manhquy.id.vn); tuy nhiên tại thời điểm kiểm tra link 09/10/2026, cả ba địa chỉ này đều trả lỗi 521 (origin down). Outbound mail (SES/Mailgun/SendGrid + DKIM signing) được README ghi rõ là TODO — nền tảng hiện mới nhận thư, chưa gửi.