docs: machine requirements from load, every option, 768 MB with the spam filter
test / test (push) Waiting to run

Owner, 2026-10-19: "Мы рассмотрели все комбинации опций поставки? Почему со
спамом нужна машина с 1 ГБ ОЗУ? 768 МБ не хватит? 512 МБ не хватит?" The
first version measured one configuration at rest and set the host column by
estimate. Now:

- The options and how they combine: 587 (no cost at rest), port 25 (one
  listener for the relay and DMARC), the rspamd sidecar (needs port 25; an
  external rspamd costs nothing here), the proxy (host program or a
  deploy/ container).
- Measured under load on the test server (dev/server/loadmem.sh, nothing
  delivered): SelfPost 60 MB at rest, 123 MB with 20 SMTP sessions to port
  25 held open; rspamd 118 MB at rest, 153 MB scanning ten 100 KB messages
  at once, 232 MB one 25 MiB message, 424 MB three at once, 139 MB after.
  Caddy 10 MB, nginx 3 MB, Traefik 21 MB at rest (images 92/280/231 MB).
- The host column: SelfPost's peak, rspamd's for the case, and a stated
  300 MB allowance for the system and Docker (not measured on a fresh
  host). With the spam filter 768 MB when port-25 messages are small or
  rarely large, 1 GB for several 25 MiB at once; 512 MB is not enough
  (about 480 MB at rest with the allowance, +100 MB a large message).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
mix
2026-10-19 01:07:16 +03:00
co-authored by Claude Opus 5.5
parent 839a752341
commit 0cfde72ae1
3 changed files with 50 additions and 23 deletions
+6 -2
View File
@@ -67,8 +67,12 @@ missing PTR record for you. Details: [Operator guide](docs/guide.md).
| Switched on | Host memory, at least | Images on disk |
|---|---|---|
| Outbound only (465/587), or with port 25 (inbound relay, DMARC reports) | 512 MB | 315 MB |
| With the spam filter (rspamd sidecar) | 1 GB | 626 MB |
| Outbound only (465/587), with or without port 25 (inbound relay, DMARC reports) | 512 MB | 315 MB |
| With the spam filter (rspamd sidecar), port-25 messages kept small | 768 MB | 626 MB |
| With the spam filter and 25 MiB messages, several at once | 1 GB | 626 MB |
rspamd takes about 100 MB more for each large message it scans; a reverse
proxy in a container adds its own few megabytes.
One vCPU is enough. **Building the image needs 1.5 GB of memory and about
3 GB of free disk** (the Go compiler: a 1 GB build was killed) - on a