Hetzner Said No
I (almost) tried self-hosting
One Friday night in December, I sat at my desk ready to deploy the app I’d spent the week building. The stack was simple: Next.js for the UI and API, and a Postgres database. Given that it wasn’t intended to be a public-facing app, I saw it as my introduction to self-hosting applications. It’s what the cool kids are doing, after all. Seriously though, there is something deeply satisfying about controlling every aspect of your system except perhaps, the hardware, if like me your intention is to use a Virtual Private Server.
I had a Sunday deadline, and the plan was to spend the weekend in a wrestling match with the deployment. Yes, a wrestling match with some fun, drama, hair-pulling, timeouts, more hair-pulling, and my inevitable conquest.
Do you think bald people ever use the expression, “pull my hair out”? I think they deserve more kindness if only for that.
In the course of the week, I’d also researched the best (read: affordable and reliable, especially affordable) VPS to use, as well as how to configure and manage self-hosted apps and services with minimal effort. I came upon the Hetzner + Coolify combo, which you may be familiar with if you’re into the business of hosting yourself. Hetzner’s servers are reasonably priced and their customer support is good, while Coolify simplifies the management of your deployments (and it can also be self hosted).
Cool. This was the way.
Until it wasn’t.
I created an account on Hetzner, but it needed to be verified. That’s not a train smash, I thought. I just needed to upload my ID document.
“Ah, these are stiff KYC requirements, Mr. H,” I all but said to Hetzner.
I didn’t have much of a choice. I uploaded it, only to be told that verification requests are processed only during normal business hours. This was around 21:00 UTC on Friday. I would have to wait until the following Monday to get any form of feedback. Bummer.
I searched for alternative VPS providers, but I wasn’t convinced by them. Frustrated, I ditched the plan entirely and pivoted to Railway (which is its own story). It wasn’t much of a wrestling match in the end. I’d lost before I entered the ring. I’d lost to a KYC check.
The Hetzner story doesn’t end there. When Monday finally arrived, my account was deactivated because ”Mr. H” had some ”concerns” with the information I provided. I’m still not entirely sure what that meant.

As it turns out, my situation wasn’t unique. I reached out to them on Reddit, and they guided me through a re-verification process. My account was eventually verified a week to the day I signed up. Yeah, it took me seven days to get access to a VPS provider. And I’m not sure how I feel about it.
I hadn’t experienced such before, where I couldn’t simply sign up, pay for a service (SaaS/PaaS/Iaas), and use it immediately. On some level, I understand the need for KYC, especially to prevent servers from being used for malicious purposes, as this post hints. Yet, the whole process seemed like an overkill.
I’m not sure how they determine which accounts require ”extra” verification, or why a valid ID would be rejected so dismissively. It also didn’t help that the rejection seemed final. I mean, look at that mail. It reads like I was being served. I also had to do some digging to find a way to contact them, though, to their credit, they are responsive on Reddit.
Hetzner’s onboarding model likely works for them most of the time. But for decent users, waiting a week to be fully onboarded is a terrible experience. It’s a good thing I had an alternative, and so I got my deployment over the line. Perhaps a lesson here is that if you have any service you want to try over the weekend, don’t wait until Friday night to sign up.
Ultimately my foray into self-hosting was delayed—only delayed. I will be trying (read: wrestling) again soon. And there will be no KYC checks to stop me.
- Wolemercy
Thanks for reading! Hope you hang around for more Software Engineering posts.

