# Server Requirements and Hosting Options for AcelleMail

> The right server for AcelleMail is dictated by send volume, not subscriber count. A list of 5M subscribers mailed monthly needs less compute than a list of 100k mailed daily. This article gives concrete specs at four volume tiers, a current 2026 provider comparison, and the operational considerations that determine your real cost.

- Canonical URL: https://acellesend.com/kb/articles/server-requirements-and-hosting-options
- Author: Daniel Reyes, Technical Editor
- Category: Installation & Setup — Server requirements, deployment, Nginx/Apache, PHP config, SSL
- Content type: reference · Difficulty: beginner
- Tags: Acellemail
- Published: 2026-03-25 · Last updated: 2026-08-15
- Reading time: 10 min
- Publisher: AcelleMail Knowledge Base, https://acellesend.com/kb

---

## What this is for

The right server for AcelleMail is dictated by **send volume**, not subscriber count. A list of 5 million subscribers that you mail once a month needs less compute than a list of 100,000 you mail daily. This article gives concrete specs at four volume tiers, a current 2026 provider comparison, and the operational considerations that determine your real cost.

## Pick a tier from your monthly send volume

| Tier | Monthly sends | Recommended specs | Notes |
|------|---------------|-------------------|-------|
| **Hobby** | < 50k | 1 vCPU, 2 GB RAM, 30 GB SSD | Single droplet. Queue uses database driver. Avoid 1 GB / 512 MB shapes — won't fit PHP-FPM + MySQL + Redis. |
| **Small (baseline)** | 50k - 500k | **2 vCPU, 4 GB RAM, 50 GB SSD** | MySQL on the same host. Redis for queue + cache. 2 supervisor workers. |
| **Medium** | 500k - 5M | 4 vCPU, 8 GB RAM, 100 GB SSD | DB on the same host or split to managed. 4 supervisor workers. |
| **Large** | 5M - 50M | 8 vCPU, 16 GB RAM, 200 GB SSD + separate DB | DB on its own host (managed RDS / DO Managed DB / self-managed). 4–8 queue workers. Consider 2+ application hosts behind a load balancer with Redis-backed sessions. |
| **XL** | 50M+ | Custom — multi-host, dedicated DB cluster, Redis cluster, separate sending-cluster MTAs | Talk to AcelleMail support; this tier is rare and bespoke. |

These figures assume 30-day rolling average. **Black Friday / Cyber Monday spikes need ~2× headroom** — provision against your peak day, not your mean.

## Software baseline (any tier)

Per Acelle's [`InstallController` system-compatibility check](https://acellesend.com/kb/articles/install-acellemail-on-ubuntu-2404#step-2--php-83-the-engine) (the source-of-truth for what the wizard accepts):

| Component | Minimum (wizard-enforced) | Recommended (2026) |
|-----------|---------------------------|---------------------|
| OS | Ubuntu 22.04 / Debian 11 / Rocky 8 | **Ubuntu 24.04 LTS** |
| PHP | **8.3.0** (wizard hard-fails below) | **PHP 8.3** (8.4 works informally; PHP 9 not yet) |
| MySQL / MariaDB | MySQL 5.7 / MariaDB 10.3 | **MySQL 8.0** or **MariaDB 11.4 LTS** |
| Redis | (optional) | **7.x** — strongly recommended for queue + cache |
| Web server | Apache 2.4 | **Nginx 1.22+** |
| Process manager | systemd | **Supervisor** (worker recovery is cleaner than systemd's restart on busy queues) |
| TLS | Let's Encrypt | **certbot --nginx** with auto-renewal |

**Required PHP extensions** (all wizard-enforced):

```
mysqli  openssl  mbstring  pdo  tokenizer  zip  imap  sqlite3
gd  fileinfo  curl  xml  bcmath  intl  redis  mailparse  gmp
```

The two operators most often forget: **`php8.3-imap`** (FBL bounce handler) and **`php8.3-sqlite3`** (internal data store). The wizard's System Check hard-fails on either — see the [Ubuntu install Step 2](https://acellesend.com/kb/articles/install-acellemail-on-ubuntu-2404#step-2--php-83-the-engine).

## Provider comparison (2026 list prices)

The table uses the **Small tier** (50k - 500k sends/month) as a like-for-like comparison. All prices are USD/month, before any committed-spend discount. Adjust by tier (~2× per step up).

| Provider | Plan | vCPU | RAM | SSD | Egress | $/mo | Notes |
|----------|------|------|-----|-----|--------|------|-------|
| **Hetzner** | CX22 | 2 | 4 GB | 40 GB | 20 TB | **~$5** | Cheapest globally for the spec; EU + US datacenters; AMD/Intel mixed |
| **Hetzner** | CPX21 | 3 (AMD) | 4 GB | 80 GB | 20 TB | ~$9 | Best CPU-to-$ ratio; faster than CX22 |
| **DigitalOcean** | Premium AMD 2vCPU | 2 (AMD) | 4 GB | 80 GB | 4 TB | ~$28 | Best ops UX — managed DB, snapshots, Reserved IPs, monitoring all built-in |
| **Linode** | Shared 4GB | 2 | 4 GB | 80 GB | 4 TB | ~$24 | Slightly cheaper than DO, slightly less polished UI; Akamai-owned |
| **Vultr** | High-Frequency 2vCPU | 2 | 4 GB | 64 GB | 3 TB | ~$24 | Strong CPU benchmark; better routes to Asia than DO |
| **AWS EC2** | t3.medium + 50 GB gp3 | 2 | 4 GB | 50 GB | 100 GB free, then $0.09/GB | ~$32 on-demand / ~$20 RI | Most flexible; egress costs add up unless sending via SES in-region |
| **AWS Lightsail** | $20 plan | 2 | 4 GB | 80 GB | 4 TB | ~$20 | EC2 with the bill-predictability of DO; outgrown at Medium tier |

**Top picks per use case:**

- **Side-project / hobby** (< 50k/month): Hetzner CX22 (~$5/mo) — best price-performance globally.
- **Production small business** (50k - 500k/month): Hetzner CPX21 (~$9) for cost, DigitalOcean Premium AMD (~$28) for ops quality.
- **Production medium business** (500k - 5M/month): DigitalOcean managed DB + Premium AMD droplet, ~$80/mo all-in. AWS if you already have AWS infra and can leverage SES in-region.
- **AWS-native shops:** EC2 t3.medium (or m6i.large at Medium tier) + Reserved Instance + SES in-region — see the [AWS EC2 install guide](https://acellesend.com/kb/articles/install-acellemail-on-aws-ec2) for the full cost breakdown.
- **Container-first teams:** any of the above + the [Docker deployment guide](https://acellesend.com/kb/articles/docker-deployment-guide-for-acellemail).

## Cost beyond the server

The server is rarely the largest line item. The real recurring costs:

| Line item | Typical $/month at Small tier |
|-----------|-------------------------------|
| Server (above) | $5 – $32 |
| Sending API (Amazon SES at $0.10/1k) | $5 – $50 (50k – 500k sends) |
| Domain + DNS (Cloudflare free tier OK) | $0 – $5 |
| Backups (off-site, e.g. BorgBase or Restic to B2) | $2 – $10 |
| Monitoring (UptimeRobot free, Better Uptime $9, etc.) | $0 – $20 |
| **Subtotal** | **$12 – $117** |

Compare to Mailchimp's Standard tier at the same scale: $35-$185/month for 10k-100k *contacts* (not sends — Mailchimp's pricing is contact-tier, not send-volume). At 500k sends/month against a 50k contact list, AcelleMail's TCO is **~5× cheaper** — and the gap widens as your list grows, since AcelleMail's price is flat in contacts.

## Operations cost — the hidden expense

A self-hosted setup at 500k+ sends/month is **not zero-ops**. Plan for:

- **Backups.** Daily DB dump + weekly full filesystem snapshot. Test restore quarterly. See [Automated Database Backups](https://acellesend.com/kb/articles/automated-database-backups).
- **OS patching.** `unattended-upgrades` for security; manual review of major upgrades. On Rocky, see the [dnf-automatic FAQ](https://acellesend.com/kb/articles/install-acellemail-on-rocky-linux-9#faq).
- **TLS renewal.** certbot auto-renew, but verify with a calendar reminder twice a year.
- **Bounce-handler maintenance.** Email log rotation, FBL handler health check.
- **Monitoring.** Uptime check on the public site, queue depth, disk space, MySQL slow-query log.
- **Incident response.** Plan for "site down" + "campaign stuck in sending" runbooks.

A reasonable estimate is **2–4 hours/month** of attention for a Small-tier site once steady state is reached. Compare to Mailchimp's "0 hours, but you pay $185" — the trade-off is real, not theoretical.

## When NOT to self-host

AcelleMail's value proposition assumes you have, or can build, basic Linux operations skill. If you don't and can't, choose a SaaS:

- You don't have anyone who can SSH into a Linux box.
- You can't write or read a `crontab` line.
- You have hard SOC 2 / HIPAA compliance requirements and no time to assemble the controls (AcelleMail can be made compliant, but the work is yours).
- Your sending pattern is peaky (zero for 25 days, blast on day 30) — SaaS handles bursts better than a $5 droplet.

For everyone else — agencies, SaaS founders, e-commerce stores, newsletter publishers, regulated-industry teams who want their data on-prem — AcelleMail's TCO and control wins.

## Sizing rules of thumb

If your workload doesn't fit neatly into a tier:

- **RAM = 2 × (peak concurrent queue workers) + 1 GB for MySQL + 256 MB for Redis + 512 MB OS overhead.** Each worker peaks ~256-512 MB on heavy campaigns.
- **vCPU = 1 + (queue workers / 2).** Workers are mostly I/O-bound (sending API calls), so they share well.
- **Disk = 20 GB OS + (subscriber count / 1k) MB for DB + 1 GB/month log retention + 5 GB image headroom.** A 100k-subscriber list with 12 months of logs needs ~50 GB.
- **Egress = (avg email size in KB) × (sends/month) / 1024 / 1024 GB.** A 50 KB email × 500k sends = 25 GB/month. Free on Hetzner + DO; charged on AWS unless you use SES in-region.

If RAM is the bottleneck, **memory-limit per FPM child** in `/etc/php/8.3/fpm/pool.d/www.conf` is what to tune — `pm.max_children` × `memory_limit` is your worst-case FPM RAM.

## Choosing between Ubuntu / Debian / Rocky

Per the [install guides](https://acellesend.com/kb/articles/install-acellemail-on-ubuntu-2404):

- **Ubuntu 24.04 LTS** — the canonical recommendation. Best documentation, most copy-paste-friendly. Pick this unless you have a reason to pick something else.
- **Debian 12 (Bookworm)** — slightly lighter weight, longer security cycle (Freexian ELTS through 2033). Use if you're already a Debian shop or want minimal pre-installed surprises. See the [Debian install guide](https://acellesend.com/kb/articles/install-acellemail-on-debian-12).
- **Rocky Linux 9** — required if your operations policy is RHEL-family. Same setup applies to AlmaLinux 9 and CentOS Stream 9. Has SELinux configuration overhead — see the [Rocky install guide](https://acellesend.com/kb/articles/install-acellemail-on-rocky-linux-9).

## Common issues

| What you see | Likely cause | Fix |
|---|---|---|
| Wizard System Check red on `IMAP` or `SQLite3` | Forgot `php8.3-imap` / `php8.3-sqlite3` | `sudo apt install -y php8.3-imap php8.3-sqlite3 && sudo systemctl restart php8.3-fpm` |
| MySQL choked at 100k subscribers | Hobby tier (2 GB RAM) too small | Bump to Small tier (4 GB) and tune `innodb_buffer_pool_size = 1G` |
| Queue worker OOM-killed during big campaign | `memory_limit` too low for `send-campaign` job | `memory_limit = 512M` in `/etc/php/8.3/fpm/php.ini` AND in `/etc/php/8.3/cli/php.ini` (workers use CLI) |
| Disk full after 6 months | Logs + `failed_jobs` table runaway | Add `find /var/www/acellemail/storage/logs -name "*.log" -mtime +14 -delete` to cron; `php artisan queue:flush` failed jobs |
| Sends slow on a 1 vCPU droplet | CPU starvation under burst | Move to 2 vCPU; worker count = floor(vCPU × 1.5) is a good starting point |
| AWS bill spike after first big campaign | Egress to a non-AWS sending API | Use SES in-region (free egress) — see the [AWS install Step 7](https://acellesend.com/kb/articles/install-acellemail-on-aws-ec2#step-7--ses-integration-highly-recommended) |

## FAQ

**Can I run AcelleMail on shared hosting?** Technically yes (cPanel + PHP 8.3+ + MySQL is enough), realistically no — the queue worker needs a long-running process and the cron needs reliable execution, both of which most shared hosts kill. Use a $5 VPS instead.

**ARM vs x86?** AWS Graviton (t4g/m6g), Hetzner ARM (CAX), and Ampere-based offerings all work — they're typically ~20% cheaper. PHP 8.3 + MySQL + Redis all run fine on ARM. Caveat: a small fraction of third-party PHP extensions (especially PECL ones) may need building from source. For a stock AcelleMail install with only the wizard-required extensions, ARM is fine and saves money.

**Why MariaDB and not MySQL?** Both work; both pass AcelleMail's tests. MariaDB has the cleaner install path on Debian and Rocky (no Oracle repo needed); MySQL is the slightly safer choice if you want maximum compatibility with MySQL-specific tooling. Pick what your team already runs.

**Do I need IPv6?** Not for AcelleMail itself. Modern receivers (Gmail, Outlook) accept connections from IPv4-only senders without penalty. Adding IPv6 doesn't hurt either, but it's not a deliverability requirement.

**Can I share a server with other apps?** Technically yes (separate PHP-FPM pools, separate MySQL databases, separate nginx server blocks). Operationally messy — campaign blasts will starve the other apps of CPU, and the other apps' MySQL queries will degrade campaign performance. Better to dedicate the box.

**What about Hetzner Cloud vs Hetzner Dedicated?** Hetzner Cloud (CX/CPX SKUs) is what's tabulated above — virtual servers, billed monthly, scale up/down freely. Hetzner Dedicated (AX/EX SKUs) is bare-metal — same datacenter, single tenant, much more compute per dollar at scale, but month-on/month-off bursting isn't possible. Use Cloud for everything up to Large tier; consider Dedicated at XL tier if you can commit.

**Should I co-locate AcelleMail with my main app?** No — sending workloads have unpredictable spikes that can starve your main app's resources. Dedicate a small droplet for AcelleMail and a separate larger one for your main app. The $5–$30/month for the AcelleMail droplet is much cheaper than the consequences of a campaign blast taking your main app offline.

## Related articles

- [Install AcelleMail on Ubuntu 24.04 LTS](https://acellesend.com/kb/articles/install-acellemail-on-ubuntu-2404) — the canonical install
- [Install AcelleMail on Debian 12](https://acellesend.com/kb/articles/install-acellemail-on-debian-12) — Debian variant
- [Install AcelleMail on Rocky Linux 9](https://acellesend.com/kb/articles/install-acellemail-on-rocky-linux-9) — RHEL-family variant
- [Install AcelleMail on a DigitalOcean Droplet](https://acellesend.com/kb/articles/install-acellemail-on-digitalocean) — provider-specific guide
- [Install AcelleMail on AWS EC2](https://acellesend.com/kb/articles/install-acellemail-on-aws-ec2) — AWS-specific guide with TCO
- [Docker Deployment Guide for AcelleMail](https://acellesend.com/kb/articles/docker-deployment-guide-for-acellemail) — for container-first teams
- [Post-Install Hardening Checklist](https://acellesend.com/kb/articles/post-install-hardening-checklist) — what to run after the install
- [Setting Up Queue Workers and Cron Jobs](https://acellesend.com/kb/articles/setting-up-queue-workers-and-cron-jobs) — production-readiness for the queue side
- [Redis for Queue Processing](https://acellesend.com/kb/articles/redis-for-queue-processing) — Redis tuning
- [Scaling for 100K+ Emails Per Day](https://acellesend.com/kb/articles/scaling-for-100k-emails-per-day) — when you outgrow Small tier
- [Automated Database Backups](https://acellesend.com/kb/articles/automated-database-backups) — backup strategy

---

## Related articles

- [Install AcelleMail on AWS EC2](https://acellesend.com/kb/articles/install-acellemail-on-aws-ec2): This guide has moved. The install walkthrough for any server, an AWS EC2 instance included, is Install AcelleMail and Get Started.
- [Securing Your AcelleMail Install: A Post-Install Checklist](https://acellesend.com/kb/articles/post-install-hardening-checklist): Your AcelleMail install works the moment the web installer turns green — but two things now live on your server that didn't before: your subscribers' personal data, and your domain's sending reputation. This checklist secures both, in priority order, without turning you into a sysadmin. Most of it is config you set once.
- [Docker Deployment Guide for AcelleMail](https://acellesend.com/kb/articles/docker-deployment-guide-for-acellemail): Containerised AcelleMail trades a small ergonomic cost (volumes, image rebuilds, patch flows) for dev/prod parity and clean image-tag rollback. This guide ships a production-ready Dockerfile (with all wizard-required PHP extensions baked in), a docker-compose.yml stack, and the operational recipes for patches, scaling, logs, and backups.
- [Install AcelleMail on Ubuntu 24.04 LTS](https://acellesend.com/kb/articles/install-acellemail-on-ubuntu-2404): This guide has moved. The install walkthrough for any server, an Ubuntu 24.04 server included, is Install AcelleMail and Get Started.
- [Installing AcelleMail on DigitalOcean](https://acellesend.com/kb/articles/installing-acellemail-on-digitalocean): This quickstart has moved. The install walkthrough for any server, a DigitalOcean droplet included, is Install AcelleMail and Get Started.
