Most “host your own WordPress” guides assume you want to learn Linux. This one doesn’t. The goal here is a working newsletter site running on DigitalOcean, with One Two Three Send installed and ready to send your first email, in roughly 90 minutes. Cost: about $10/month all in.
If you’ve never touched a server before, you can still follow this. Wherever a step needs more explanation than a sentence, we’ve put it inline. Wherever you can safely skip a sub-task, we’ve said so.
Why DigitalOcean
For a single newsletter site, you have three real options:
- Managed WordPress hosts (Kinsta, WP Engine, SiteGround). $25–35/month minimum. Someone else handles the server. Worth it if your time is genuinely worth more than the cost.
- Shared hosts (Bluehost, Hostinger). $3–5/month. Cheaper, but resource-constrained, oversold, and slow once your list grows past a few thousand.
- Cloud VPS (DigitalOcean, Linode, Vultr, Hetzner). $6–12/month. You get a real Linux server. Slightly more setup, dramatically more control.
DigitalOcean wins on simplicity for the cloud-VPS category. Their dashboard is the cleanest in the industry, their one-click WordPress image is genuinely good, and their pricing is predictable. Hetzner is cheaper if you’re in Europe; AWS Lightsail is comparable if you’re already on AWS for other reasons. For everyone else, DO is the default.
Sizing the droplet correctly
This is where most guides waste your money. The right droplet for a newsletter site depends almost entirely on subscriber count, not on traffic.
| Subscribers | Droplet | Monthly |
|---|---|---|
| 0–2,000 | Basic 1GB / 1 vCPU | $6 |
| 2,000–15,000 | Basic 2GB / 1 vCPU | $12 |
| 15,000–50,000 | Basic 4GB / 2 vCPU | $24 |
| 50,000+ | CPU-Optimised 8GB | $84 |
Start small. DigitalOcean lets you resize a droplet vertically (more RAM/CPU) with a five-minute reboot. There is zero benefit to over-provisioning. The $6 plan handles a couple of thousand subscribers comfortably.
Step 1 — Create the DigitalOcean account
Go to digitalocean.com and sign up. They’ll ask for a payment method. They give new accounts $200 in credit valid for 60 days, which is plenty to test multiple configurations before committing.
Add a payment method even if you have credit — without one, your droplet gets destroyed when the credit expires.
Step 2 — Spin up the WordPress droplet
From the control panel: Create → Droplet.
- Region: pick the one closest to your subscribers. For a US/global audience, NYC3 or SFO3. For Europe, FRA1 or AMS3. For Asia/Pacific, SGP1 or SYD1. The droplet’s region determines the latency for your admin use; subscribers don’t see your droplet, they see the email’s sending IP (which is your email provider, not DO).
- Image: click the Marketplace tab and search “WordPress”. Pick “WordPress on Ubuntu 22.04”. This is the official DigitalOcean one-click image — it ships with WordPress, MySQL, nginx, PHP, and Certbot pre-installed. Saves you about three hours of setup.
- Plan: Basic → Regular. Pick the size from the table above.
- Authentication: SSH key if you know what one is, password if you don’t. (You can switch to SSH later.) Set a strong password and store it in a password manager.
- Hostname: something memorable like
love-france-newsletter. Doesn’t affect anything outside the dashboard. - Backups: tick the box. It’s 20% of the droplet cost ($1.20 on a $6 droplet) and it’s the cheapest insurance you’ll ever buy. Weekly snapshots, four-week retention, fully automated.
Click Create Droplet. Wait 60 seconds.
Step 3 — Finish the WordPress install
Once the droplet’s ready, copy its IP address from the dashboard. SSH in:
ssh root@YOUR_DROPLET_IP
The first login runs the WordPress finalisation script automatically. It asks for:
- Your domain name (or use the IP for now if you haven’t bought a domain yet)
- An email address for Let’s Encrypt SSL certificate notifications
- Whether to enable HTTPS (yes — it’s free and automatic)
The script provisions an SSL certificate via Let’s Encrypt and configures nginx for HTTPS. This is the single best part of the DO marketplace image — getting SSL right manually is an hour’s work that you skip entirely.
If you don’t have a domain yet, point your browser at the droplet’s IP and you’ll see the WordPress install wizard. Pick a strong admin password (NOT “admin” as the username — pick something obscure), set the site title, and finish.
Step 4 — Point your domain at the droplet
If you bought a domain (Namecheap, Cloudflare, or any other registrar), add two DNS records:
- A record:
@→ your droplet IP - A record:
www→ your droplet IP
DNS propagation takes 5 minutes to an hour depending on the registrar. While you wait, log into WordPress at https://YOUR_DOMAIN/wp-admin.
If SSL didn’t get set up during step 3 (because you didn’t have a domain yet), SSH back in and run:
certbot --nginx -d YOUR_DOMAIN -d www.YOUR_DOMAIN
Certbot handles the cert, the nginx config, and the auto-renewal cron job in one command.
Step 5 — Set up backups (the second kind)
You enabled DigitalOcean’s droplet backups in step 2 — those snapshot the entire server weekly. That’s good for “the droplet died” recovery.
You also need WordPress-level backups for “I broke a plugin” recovery. The free UpdraftPlus plugin is the operator standard. Install it from Plugins → Add New, configure it to back up to Google Drive or Dropbox daily, and forget about it.
Your insurance is now layered: UpdraftPlus restores the WP install in minutes, DO snapshots restore the entire server in an hour. Most operators never need either, but the one time you do, you’ll be glad you set both up.
Step 6 — Install One Two Three Send
From the WordPress admin: Plugins → Add New, search for “One Two Three Send”, click Install, then Activate.
The plugin walks you through initial configuration:
- Claude API key. Get one from console.anthropic.com. Pasted into Newsletter → Settings → AI. Required only if you want AI generation; you can run the plugin without it and write everything by hand.
- Email provider. Pick one in Newsletter → Settings → Provider. For under 50,000 emails a month, Resend or Postmark are the easiest. Above that, switch to Amazon SES — we wrote a separate post on that.
- Signup form. The plugin creates a default form at Newsletter → Signup Forms. Copy its shortcode and paste it into a WordPress page (e.g.
/subscribe) or a widget area. - Welcome email. Newsletter → Settings → Welcome. New subscribers see this immediately on signup. The default is fine; customise the body to match your brand voice.
That’s the minimum to start sending. Generate your first newsletter at Newsletter → New Newsletter.
Step 7 — Optional: install One Two Three Send Pro
If you want Stripe paywalls, custom newsletter templates, the public archive, the Newsletter Network cross-promotion widget, or the AI Agents blog generator, install the Pro companion plugin.
Pro is distributed by email to subscribers of the One Two Three Send newsletter — sign up at onetwothreesend.com and the install link arrives within minutes. Once installed, Pro auto-updates from the manifest server; no manual updates needed.
What you should NOT do on the droplet
Some categories of work that look reasonable but will cause problems:
Do not run your own SMTP server. Outbound port 25 on cloud providers is heavily blocked by inbox providers because so much spam comes from cloud IPs. Even if you got mail to leave the droplet, it would land in spam folders. Always use a dedicated email service (Resend, Postmark, SES) for sending. The droplet’s job is to host the WordPress admin and the public site, nothing more.
Do not skip the firewall. Run ufw enable on first login and only open ports 22 (SSH), 80 (HTTP), and 443 (HTTPS). DO has a network-level firewall in the dashboard that’s even better — set it up to lock everything else down.
Do not run as root forever. The marketplace image lets you log in as root by default. Within the first day, create a non-root user with sudo, copy your SSH key over, and disable root SSH login. There are guides for this; fifteen minutes of work that pays off the first time someone scrapes your IP looking for SSH brute-force opportunities.
Do not install random WordPress plugins. Each plugin is server code running with database access. The plugin ecosystem is broad and most plugins are fine, but the bad ones are spectacularly bad. Stick to plugins with 100,000+ active installs, recent updates, and active support. UpdraftPlus, Yoast SEO, Wordfence, and One Two Three Send all qualify.

Long-term maintenance
If you do nothing else, do these.
Weekly: log in to WordPress and click “Update” on anything with an update available. WordPress core, plugins, themes. WordPress’s auto-update for minor versions is on by default; you’re checking that nothing got missed.
Monthly: SSH in and run apt update && apt upgrade. Reboot if a kernel update comes through. This applies Ubuntu security patches.
Quarterly: review installed plugins. Anything not actively used should be deactivated and deleted. Inactive plugins still receive updates and can introduce security issues. The one-click image ships with about a dozen utility plugins; remove any you’re not using.
Annually: re-evaluate your droplet size. If your subscriber count has 5x’d, your $6 droplet is now under-provisioned. If your subscriber count hasn’t grown, your $24 droplet is overspending. DigitalOcean’s resize takes five minutes and a reboot.
When DigitalOcean is the wrong choice
If you genuinely don’t want to ever SSH into a server, pick managed WordPress hosting. Kinsta is the gold standard ($35/mo for a starter site); WP Engine is the enterprise default; SiteGround is the budget option. You pay 3–5x more, but you never have to think about Linux.
If you’re running 100+ sites, DigitalOcean stops being optimal. AWS Lightsail with a Multi-AZ database, or a Kubernetes cluster on DO/Linode, becomes worth the additional setup. The break-even point is around 10–20 sites.
If your audience is mostly in one specific region (say, Australia), pick a host with a data centre in that region. DO’s SYD1 region is fine; alternatives like Vultr Sydney or AWS ap-southeast-2 are also options.
For everyone else: DigitalOcean is the most boring infrastructure decision you can make for a newsletter site, and that’s the highest compliment infrastructure can earn.
