Installation & Setup

Server Requirements and Hosting Options for Senddera

Minimum and recommended specs by send volume, host comparison (DigitalOcean, Hetzner, AWS, Linode), and operations cost per tier.

Apr 25, 2026·8 min read· Beginner

The right server for Senddera 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 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, 20 GB SSD Single droplet. SQLite OK if < 10k subscribers.
Small 50k - 500k 2 vCPU, 4 GB RAM, 50 GB SSD MySQL on same host. Redis for queue.
Medium 500k - 5M 4 vCPU, 8 GB RAM, 100 GB SSD DB on the same host or split. 2 queue workers.
Large 5M - 50M 8 vCPU, 16 GB RAM, 200 GB SSD + separate DB DB on its own host (managed RDS or self-managed). 4-8 queue workers. Consider 2+ application hosts behind LB.
XL 50M+ Custom — multi-host, dedicated DB cluster, Redis cluster, separate sending-cluster MTAs Talk to Senddera support; this tier is rare and bespoke.

These figures assume 30-day rolling average. Black Friday spikes need ~2× headroom.

Software baseline (any tier)

Component Minimum Recommended (2026)
OS Ubuntu 20.04 / Debian 11 / Rocky 8 Ubuntu 24.04 LTS
PHP 8.1 8.3 (8.4 should also work; PHP 9 not yet)
MySQL / MariaDB MySQL 5.7 / MariaDB 10.3 MySQL 8.0 or MariaDB 11
Redis (optional) 7.x — strongly recommended for queue + cache
Web server Apache 2.4 Nginx 1.24+
Process manager systemd Supervisor (worker recovery cleaner than systemd's restart on busy queues)
TLS Let's Encrypt certbot --nginx with auto-renewal

Provider comparison

The 4-tier table below uses the Small tier (50k - 500k sends/month) as a like-for-like comparison. All prices are 2026 list prices, 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 in EU, no AMD/Intel choice
Hetzner CPX21 3 (AMD) 4 GB 80 GB 20 TB $9 Better CPU-to-$ ratio than CX22
DigitalOcean Premium AMD 2vCPU/4GB 2 (AMD) 4 GB 80 GB 4 TB $24 Best ops UX (managed DB, snapshots, monitoring)
Linode Shared 2GB 1 2 GB 50 GB 2 TB $12 Cheaper than DO, slightly worse UX
Vultr High-Frequency 2vCPU 2 4 GB 64 GB 3 TB $24 Strong CPU benchmark; routes to Asia faster than DO
AWS EC2 t3.medium + 50 GB gp3 2 4 GB 50 GB 100 GB free, then $0.09/GB ~$30 + traffic Most flexible; egress costs add up; spot pricing 70 % cheaper if you can tolerate interruption
AWS Lightsail $20 plan 2 4 GB 80 GB 4 TB $20 EC2 with the bill predictability of DO

Top picks per use case:

  • Side-project / hobby (< 50k/month): Hetzner CX11 ($4/mo) — best price-performance globally.
  • Production small business (50k - 500k/month): Hetzner CPX21 ($9) for cost, DigitalOcean Premium AMD ($24) 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.
  • Sending-server-as-a-service (lots of customers, lots of egress): AWS with reserved instances + S3 for backups.

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 - $30
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 - $115

Compare to Mailchimp's Standard tier at the same scale: $35-$185/month for 10k-100k contacts (no per-send cost included). At 500k sends/month the Senddera TCO is ~5× cheaper — and the gap widens with volume.

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.
  • OS patching. unattended-upgrades for security; manual review of major upgrades.
  • TLS renewal. certbot auto-renew, but verify with a calendar reminder.
  • 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. The KB has a troubleshooting playbook library.

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

Senddera'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 (Senddera 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.

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

Related reading

FAQ

Can I run Senddera on shared hosting?

Technically yes (cPanel + PHP 8.1+ + 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.

Do I need a dedicated IP?

Only at Medium tier and above (500k+ sends/month). Below that, shared IPs from your sending API (SES, SendGrid) deliver better — they have established reputation that you'd have to warm from scratch on a dedicated IP.

Where should I put the database?

Same host as Senddera at Small tier. Split to a managed DB (DigitalOcean Managed MySQL, AWS RDS, etc.) at Medium+ for backup + failover. Don't co-locate Redis with MySQL on the same disk — IO contention will hurt both.

What about Docker / Kubernetes?

Docker works fine for Senddera and there's a Docker deployment guide in this KB. Kubernetes is overkill until you're at XL tier with multiple application hosts; even then, a 2-host setup with HAProxy is simpler.

Sample 12-month cost projections

The numbers above are list prices; the question is what they actually total over a year of operation. Three common scenarios:

Scenario A — solo founder, growth from 5k to 80k contacts.

  • Months 1-3: Hetzner CX22 ($5) + SES ($1) + domain ($1) = $7/month.
  • Months 4-9: Hetzner CPX21 ($9) + SES ($5-15) + domain ($1) = $15-25/month.
  • Months 10-12: same hardware, list grew = $20-30/month.
  • 12-month total: ~$200-250. Same year on Mailchimp Standard: $1,000-1,800.

Scenario B — agency hosting 30 client lists totaling 250k contacts.

  • DigitalOcean Premium AMD 4vCPU/8GB ($48) + DO Managed MySQL ($15) + Backups ($10) + SES ($30) + domain ($1) = $104/month.
  • 12-month total: ~$1,250. Same year on Mailchimp Premium for an agency consolidator: $4,800-7,200.

Scenario C — SaaS company with 1.5M monthly transactional + marketing sends.

  • AWS m6i.large 1-yr Reserved ($50) + RDS Multi-AZ ($60) + EBS + snapshots ($15) + SES ($150) + Route 53 ($3) = $278/month.
  • 12-month total: ~$3,350. Mailchimp at this scale is impossible (no transactional product); SendGrid Pro Plus ~$1,000/month + still need a CRM ~$500/month → $18,000/year.

The break-even versus SaaS is generally at 50k-100k sends/month. Below that, SaaS hassle-cost wins; above, Senddera TCO wins decisively.

Triggers that mean "time to scale up"

Three signals consistently mean a tier upgrade is overdue (and ignoring them ends in a campaign that hangs or a queue depth that grows unbounded):

  1. Sustained queue depth > 1,000. Run php artisan queue:size (or check the Senddera dashboard's Queue Status) at peak hour. If the depth doesn't drain to single-digits between campaigns, your worker count + DB throughput is the bottleneck. Add workers first; if CPU/IO redlines, upgrade the tier.
  2. MySQL Threads_running > 20 for minutes at a time. Run mysqladmin extended-status | grep -E 'Threads_running|Innodb_row_lock'. Sustained contention means the DB is at capacity — split it to a managed instance or upgrade RAM (so the buffer pool fits the working set).
  3. Disk usage > 80 %. Senddera's storage/logs/, the bounce log, the campaign-attachment cache, and the database all grow over time. The fix is rotation/archive plus tier upgrade if archive doesn't reclaim enough. The DigitalOcean Spaces offload pattern is the cleanest way to cap local-disk growth.

What "operations cost" actually buys you

The 2-4 hours/month of attention cited above isn't busywork — it's:

  • 5 min/week: scan UptimeRobot dashboard, check disk usage, look at fail2ban ban list.
  • 20 min/month: rotate / verify the daily DB dump, eyeball Grafana for any metric drifting outside its band, verify last week's certbot renewal.
  • 45 min/quarter: OS package updates (apt upgrade), Senddera patch upgrade if one was released, restore-from-backup test.
  • 2-3 hours/year: annual hardening re-audit (run the post-install hardening checklist again), key rotation, certificate renewals you've been deferring.

If you can't carve out this time, or you're not the kind of person who'll do it, a managed-hosting layer (such as paying a freelancer to run the maintenance script monthly) is the right answer rather than skipping it. Skipped maintenance is the #1 cause of "Senddera was working last month" tickets.

Run your email marketing on your own server

Full source code, no subscriber tax, unlimited sending. One-time $74 license, lifetime updates.

Get Senddera — $74 one-time