3 Websites Moved From DreamHost to Hetzner in 45 Minutes With AI

3 Websites Moved From DreamHost to Hetzner in 45 Minutes With AI

So it started with an email at 9am.

Not a crash. Not a ticket. Just a friendly little note from DreamHost that landed while I was drinking my first cup of coffee.

"The RAM usage on your DreamHost VPS is over its maximum capacity of 1 GB. Fortunately, since we offer automatic memory boosting — which keeps everything up and running when you've run out of resources — your VPS remains online. However, this is a temporary measure, and you'll need to either work on further optimizing your resource usage, or consider upgrading to a tier that provides sufficient memory for your needs."

Here's the thing — this wasn't a surprise. I had been running several sites on that VPS for years. caldwellone.com on Ghost, orbitimagery.com and saltycreekmarine.com as static sites, and gtechnetworks.com which is a wordpress site. 1GB of RAM with no swap. Ghost plus Apache is not a light combination and I had been pushing my limits for a while. The OOM was coming eventually.

I also knew I only had about a year left on my DreamHost contract and I had already been doing the math on alternatives. Hetzner's pricing was already sitting in a browser tab before that email showed up. The 9am email didn't start the conversation — it just made the decision feel urgent.

So I opened a live chat with DreamHost. Not to complain. To give them a fair shot at keeping my business.

After the chat, I spun up a Hetzner server. By end of day, three sites were live on the other end.


The Chat

I've been with DreamHost for over 8 years. Good support, reliable enough, and I never had a catastrophic failure. So I opened a live chat — not to complain, but to genuinely ask if the numbers could work.

[07:15:13] James Caldwell: Hey DreamHost team, I have been a customer for quite a while and have always been happy with the service and support. That is a big reason I have stayed. However, I am starting to run into resource limits with my current VPS plan and wanted to reach out before considering a move elsewhere.

I am running Ghost (Node.js) along with a few static sites, and I am consistently hitting the RAM ceiling on my current 1GB plan. I have reached the point where I really need more headroom for stability.

The next VPS tier would likely solve the issue, but when I compare pricing to competitors like Hetzner, where similar or better specs are available at lower price points, it is becoming harder to justify the jump purely from a value perspective.

Before I go through the hassle of migrating, I wanted to ask if there is any flexibility on upgrade pricing, retention offers, or upcoming plans. I would genuinely prefer to stay with DreamHost if there is a reasonable path forward.
[07:15:37] Lindy M: Thank you for contacting DreamHost support, I am sorry to hear of the issue that you are experiencing. My name is Lindy. I'd be happy to help! Just a sec let me pull up your account :)
[07:15:55] James Caldwell: Good morning :)
[07:18:26] Lindy M: Good morning, James. You can review the prices for the next tier VPS. You currently have a 1GB VPS, which is a legacy VPS, and it is no longer available. So if you upgrade to the next tier, which is the 2GB, you will not be able to downgrade to this old VPS plan.
[07:19:40] Lindy M: Regarding retention and discounts, that is not something we offer via live chat as it is only granted by the Billing team, if need be, I can create a ticket for them to review your request or whether they can offer you any discounts on the available VPS plans, or the one you are considering to upgrade to.
[07:22:27] James Caldwell: Yeah we should probably do that... because that's almost $20 more per month than Hetzner for half the server.
[07:24:19] Lindy M: Okay, so you would like me to create a ticket for the Billing team to review if they can offer you any discounts for the VPS Business plan, which is the 2GB plan?
[07:27:57] James Caldwell: Sure, the 2GB will likely fix my current issue.
[07:31:15] Lindy M: Thank you for waiting. I've created a ticket for you. The Billing team will review this and notify you via email with feedback shortly.
[07:36:27] James Caldwell: Sorry — I'm good. Thanks for the ticket.

[07:36:42] im good :)

Take care.
[07:37:07] Lindy M: My pleasure to help you! Thank you for using DreamHost Live Chat! Have a great day!

Lindy was great. Polite, fast, no runaround. The problem wasn't the support. The problem was what came next.


The Offer

A few hours later, Cat V. from the Sales Development team replied with the actual numbers.

"In appreciation of your business with us, I would like to help alleviate some of the increased cost of your upgrade and offer you the following discounts:

If you'd like to renew for 3 years, I can offer you a rate of $22.99/month ($827.64 total) or $28.99/month ($347.88 total) on a yearly term.

This discount is 'one-time' only, which means when your VPS plan comes due again for renewal, it will renew at the standard rates...

3 years $899.64 total ($24.99/month)
1 year $383.88 total ($31.99/month)"

2GB RAM. Their best discounted offer: $22.99/month.

I didn't need to think about it long.

My reply: "Thank you for the offer, but I'll be moving on. For context, I can get 4GB RAM — double what you're offering — for $9.40/month elsewhere. Your discounted rate of $22.99/month for 2GB RAM is still more than double that price for half the specs. I've been a customer for a long time and I appreciate the service, but the math just doesn't work anymore. Thanks, Jim"

Then Bernie came back with a final counter.

"While we cannot match the pricing of some other providers due to the cost of maintaining our specific infrastructure, performance, and support, we want to do everything possible to bridge the gap...

Here are the absolute lowest rates we can offer to keep you with us:

1-Year Plan: $27.99/month ($335.88 total) — Saving you $48
3-Year Plan: $21.99/month ($791.64 total) — Saving you $108

Please keep in mind that this is a one-time courtesy discount for this billing cycle. Upon renewal, the plan will return to our standard, non-promotional rates."

Bernie also mentioned they couldn't match pricing because of the cost of "infrastructure, performance, and support."

That word — support — is doing a lot of work in that sentence. We'll come back to it.

My reply to Bernie:

"Thanks again for the offer. I've already moved all my sites over to Hetzner. I figured you wouldn't be able to touch that price, and honestly I don't fault you for it — it's a different business model. But I do think you need to rethink how you're positioned, because the thing that used to make DreamHost worth the premium was the support. The hand-holding. The 'don't worry, we'll help you through it.' Now that AI is here, people like me don't really need that anymore. It literally took me 45 minutes to migrate three websites to Hetzner with the help of Claude. I'll definitely keep you as my domain registrar — that's still solid value. But on the server side, the pricing isn't realistic, and I think you're going to figure that out the hard way sooner rather than later as more people get comfortable using AI as their personal systems administrator. Thanks for the years."

The Math, One More Time

Because it deserves its own section.

| | DreamHost (discounted) | Hetzner CPX22 | |---|---|---| | RAM | 2GB | 4GB | | Storage | 60GB | 80GB NVMe | | Cores | 2 | 2 | | Monthly | $21.99–$22.99 | $9.40 | | Annual | ~$264–$276 | $112.80 |

That's $163/year for half the RAM on a promotional rate that expires. At standard pricing it would be $383.88/year — $271 more annually for specs that don't compete.

I want to be fair here: DreamHost isn't a bad company. Their support is genuinely good. Their infrastructure has been reliable. And for a non-technical user who wants someone to call when things go sideways, that used to be worth something.

The problem is the world changed and they are not keeping up with the times imo.


What "AI as Your Sysadmin" Actually Looks Like

Here's the honest version of this, because I think there's a lot of hype floating around and I'd rather just tell you what happened.

I want to be upfront about something first: I am not a systems administrator. I know enough to be dangerous — I can SSH into a server, move files around, follow a tutorial. But the deep internals of how Nginx talks to Ghost, or why MySQL throws a cryptic connection error on a fresh install, or what Apache is doing when a redirect doesn't fire the way you expect? That stuff is not in my head.

Normally that gap costs time. A lot of it. Combing through Reddit threads, posting questions and waiting, hours of searching, documentation that assumes you already know the thing you're trying to learn. Context-switching constantly. Losing your place.

What I did instead was open Claude Code, tell it what I was trying to build, and start running commands.

A few times something didn't work and I had no idea why. I'd describe what I was seeing — "this command failed with this error" or "the site isn't loading and here's what Nginx says" — and Claude would explain what was wrong and what to run next. I didn't have to understand why MySQL 8.4 handles database authentication differently than older versions, or what a reverse proxy header even is, or why a single line in an Apache config was breaking my redirects. I just had to describe the symptom, run the fix, and keep moving.

That's the real version of "AI as your sysadmin." Not magic. Not a button you press. You still have to pay attention, read the output, and describe what you're seeing accurately. But the expertise gap? That gap closed.

Forty-five minutes. Three sites. Live on the other end.


The Part Bernie Got Right (And Wrong)

When Bernie said DreamHost's pricing reflects the cost of "infrastructure, performance, and support" — that's true. That's exactly what you're paying for.

The problem is that support used to be the differentiator. When migrating a server meant spending a weekend reading documentation and hoping you didn't brick something, paying a premium for a host with solid human support made sense. You were buying expertise and a safety net.

Now the safety net is in your terminal. It doesn't take a vacation, it doesn't have a ticket queue, and it already knows what to do when something breaks.

I'm not saying human support has zero value. For a true beginner, it still does. But for anyone with moderate technical comfort and a willingness to read output carefully — the value equation has shifted. The thing DreamHost was charging a premium for is increasingly available for free, inline, as you work.

That's not a knock on DreamHost specifically. It's a structural problem for every hosting company that's been competing on support and hand-holding rather than raw specs and price.


How It Ended

All three sites are live on Hetzner. caldwellone.com running Ghost 6.41 on MySQL 8.4, orbitimagery.com and saltycreekmarine.com serving static files — Nginx handles all three off the same box with room to spare.

The old VPS still has about a year of prepaid time on it. I'm using it as a staging environment now, which is honestly a better fit for what it was always capable of.

Total monthly hosting cost for three production websites: $9.40.

DreamHost still has my domain registrations. That part actually makes sense — no complaints on price, solid management panel, no reason to move.

But the servers? The math stopped working. And when the math stops working and the migration takes 45 minutes... you migrate.