Rafhael Marsigli Logo

How I Saved At Least $250/Year on Hosting

5 min read
How I Saved At Least $250/Year on Hosting

I'll get straight to the point: I maintain 5 legacy web clients. They pay me for simple hosting, and until last month, they were all sitting on a cPanel reseller account that cost me about R$ 160.00/month (approx. $28 USD).

Today, I migrated everything to a setup that costs me $7.00 USD, and I'm able to deliver a better service.

These are old, chill, loyal clients who just want the peace of mind of knowing that: their sites will stay online, and their emails will reach suppliers, accountants, etc., without having to hang on the phone with support. Well, that last point can be a real pain in the neck for those using shared hosting—but that's a topic for another discussion.

The thing is, every end of the year, the provider sends me a price hike notice that gets more absurd every time—I get it, costs are up, but I have nothing to do with that.

So, before the year ended and my hosting plan expired, I decided to "seek knowledge."

The - VPS - truth is out there

The Alternative

After a lot (or maybe not so much) of research, the best alternative I found—one that had a good cost for me and delivered equal or better quality for my beloved clients—was:

  • Hetzner VPS (~$7/month with backups)
  • HestiaCP as my control panel
  • Cloudflare for DNS (Free plan)
  • Brevo for Email (Free plan)

The first thing I had to get used to (one of the few downsides) is that Hestia is ugly. Ugly as sin. Not that cPanel is a work of art, but HestiaCP's layout looks like it came straight out of the 90s. Plus, the interface forces you to click three times more (and guess where things are hidden) to get to where cPanel would get you in one click. Coolify, which doesn't even focus that much on beauty, runs circles around poor old HestiaCP visually. But Hestia is that "ugly but functional" tool that gets the job done, and gets it done well.

Yeah, but for the savings, it was totally worth it. The first step was renting a new Hetzner server (I already have an account with a few servers there, so this was literally just configuration), and—after setting up the Firewall—installing HestiaCP on bare metal.

Pro Tip: Never install a service like HestiaCP inside a Docker container; stick it directly onto the machine (bare metal). It was built to manage the OS.

Even before migrating the (few) clients, I added all of them to Cloudflare to speed up DNS propagation—it was almost instant. Configuring the accounts afterward was easy: first, I "disable the Cloudflare proxy (the orange cloud)" to generate the SSL on the server, and then enable it again later (this avoids that SSL handshake latency between the client in Brazil and the server in Germany).

Careful! Wrong choice goes to spam!!

And finally, the email configuration

This was supposed to be the part where "the rubber meets the road" (or where the nightmare begins). But it wasn't.

It would be madness to use the Hetzner IP to send emails directly; it's begging for a headache (blocklists hate cheap cloud IPs). The alternative was using an SMTP Relay: 1. AWS SES, 2. Resend, or 3. Brevo.

I chose Brevo because I can have more than one domain on the free plan, unlike Resend. Plus, I get 300 free emails per day, which is way above the volume my clients actually use. I also didn't want to go through AWS SES's massive bureaucracy—I wouldn't be surprised if they asked for a blood sample just to unlock a production account.

Here, I have the peace of mind that even if I need to pay for Brevo's monthly plan in the future, I'll still be turning a profit.

So, it was just a matter of creating an API key to use in my Hestia setup and watching the logs to see if everything was going smoothly. Honestly? It's easier to configure this than dealing with "graylist" issues and the bad reputation of shared IPs from popular hosting providers.

The result one month later

  • Zero client complaints.
  • Zero email deliverability issues.
  • Fluid site navigation.

All my fears fell apart. Was it hard work? Yes, because you have to manually configure one client, repeat for the next, repeat for the next... But on the technical side, it's incredibly simple and robust.

And cheap. Can it be more work? Sure, but the support from those big companies often can't solve anything without you giving them technical hints or begging to be escalated to a higher tier of operations anyway. In the end, it was worth it.

The bottom line: From R$ 160+ (January would have had another hike) down to approx. R$ 45.00 ($7 USD). After this first month, I thought: "Ah... I should have done this years ago, and I'd have a brand new motorcycle in the garage by now! (or not)"

Extra Tip

Cover your back. Hosting is wonderful until the first limit is hit or the first IP gets blocked. Have transparent contracts and terms of service, both for you and your clients. Define clear storage limits, fair extra fees if a limit is breached, and explicitly define punitive actions in case of abuse—like spamming, for example.

Share with those you love