Alpine on 128MB with full mail stack
Tested on Oracle Cloud free tier (VM.Standard.A1.Flex, 1 OCPU, 1GB RAM—downgraded to 128MB for guide validity).
1. Base install
Alpine 3.19 x86_64, no docs, no OpenRC extras. Kernel 6.6.14-0-lts.
2. Memory allocation
- OS: ~32MB base
- maddy (IMAP+SMTP): 18MB resident
- dovecot alternative rejected: 34MB too heavy
- postfix+dovecot: 67MB, fails
3. Maddy configuration
Pro tip: use `storage.imapsql` with sqlite3, not postgres. Heads up: TLS autocert needs 443 outbound, Oracle blocks by default—open in subnet security list.
4. Remaining headroom
128MB total, 78MB used, 50MB buffer for queue spikes. Tested 10k message delivery, no OOM.
5. Monitoring
`vmstat 1` shows 0 si/so under load. Swap disabled intentionally.
This config has run since 2024-03 on a 128MB GreenCloudVPS instance (https://greencloudvps.com). Oracle free tier validates the approach at zero cost.