I tried building my startup entirely on European infrastructure
Source: Hacker News
Building a Startup on European Infrastructure
When I decided to build my startup on European infrastructure, I thought it would be a straightforward swap: ditch AWS, pick some EU providers, done. How hard could it be?
Turns out: harder than expected. Not impossible—I did it—but nobody talks about the weird friction points you hit along the way. This is that post.
Why Bother?
- Data sovereignty – keep data under EU jurisdiction.
- GDPR simplicity – easier compliance with local regulations.
- Avoid vendor lock‑in – don’t rely on the three major US hyperscalers.
- Stubbornness (and curiosity) – prove it can be done.
- Support European infrastructure – EU companies build serious products and deserve the traffic.
The Stack
Below is the current architecture I settled on after extensive trial, error, and migration headaches.
| Provider | Role | Key Services |
|---|---|---|
| Hetzner | Core compute | Load balancers, VMs, S3‑compatible object storage |
| Scaleway | Complementary services | Transactional Email (TEM), Container Registry, secondary S3 bucket, observability stack, domain registrar |
| Bunny.net | Edge & security | CDN with distributed storage, DNS, image optimisation, WAF, DDoS protection |
| Nebius | AI inference | GPU compute in Europe (avoids routing to us‑east‑1) |
| Hanko | Authentication | Passkeys, social logins, user management (European‑hosted alternative to Auth0/Clerk) |
Why These Providers?
- Cost & Performance – Hetzner offers compute and storage at a fraction of AWS prices while delivering solid performance.
- Service Consolidation – Scaleway bundles several needed services under one bill, simplifying management.
- Edge Excellence – Bunny.net’s edge network (headquartered in Slovenia) provides fast CDN delivery, robust security, and an intuitive dashboard.
- European‑Centric AI – Nebius supplies GPU resources located in Europe, reducing latency for EU‑based workloads.
- European‑First Auth – Hanko keeps authentication within the EU, offering modern passkey support without relying on US‑based identity providers.
Note: While Hanko reduces American dependencies, it doesn’t eliminate them entirely; some external services are still required.
Self‑hosting: Rancher, my beloved
This is where things get fun… and time‑consuming. I self‑host a surprising amount of services, all running on Kubernetes with Rancher as the glue that keeps the whole cluster sane.
Self‑hosted stack
- Gitea – source control
- Plausible – privacy‑friendly analytics
- Twenty CRM – customer management
- Infisical – secrets management
- Bugsink – error tracking
SaaS vs. self‑hosting
Self‑hosting is obviously more work than using SaaS, but it guarantees that my data stays exactly where I put it. I’m not at the mercy of a provider’s pricing changes or acquisition drama.
- Tutanota – encrypted, European‑based email
- UptimeRobot – monitors uptime so I can sleep
Transactional email
Finding a transactional‑email provider that matches on deliverability, pricing, and developer experience took real effort. The major players—SendGrid, Postmark, Mailgun—make it trivially easy and reasonably cheap. EU‑focused options exist, but the ecosystem is thinner (fewer templates, integrations, and community knowledge).
Scaleway’s TEM works, but it lacks the polish of the larger services.
Leaving GitHub
If you live in GitHub’s ecosystem (Actions, Issues, code‑review workflows, social graph), walking away feels like leaving a city you’ve lived in for a decade. You know where everything is.
- Gitea is excellent for the core Git experience, and I’d recommend it without hesitation.
- You’ll miss the surrounding ecosystem: CI/CD pipelines need to be rebuilt, integrations you took for granted disappear, and the muscle memory of
gh pr createtakes a while to unwind.
Domain TLD pricing
This one is baffling. Certain TLDs cost 2–3× more when purchased through European registrars, even though they’re cheap elsewhere. I’ve never received a satisfying explanation—if anyone knows why, I’m genuinely curious.
What You Realistically Can’t Avoid
Here’s the honest part: some services are fundamentally American, and you’ll have to accept that.
-
Google Ads and Apple’s Developer Program
If you want to acquire users and distribute a mobile app, you’re paying the toll to Mountain View and Cupertino. There is no European alternative to the App Store or Play Store, so this is simply the cost of doing business. -
Social Logins
Users expect “Sign in with Google” and “Sign in with Apple.”
You can add email/password and passkeys, but removing social logins entirely is a conversion killer. Every one of those auth flows hits American servers.
Silver lining: Hanko, a German identity provider, handles the auth layer itself, so at least your user‑management and session handling stay in Europe, even if the OAuth flow touches Google or Apple. -
AI
If you want Claude (and I very much want Claude), that’s Anthropic—an American company.
The EU AI ecosystem is growing, but for frontier models the options are mostly U.S.‑based. You can run open‑weight models on European inference providers, but if you need Claude you’ll be making a transatlantic API call.
Was it worth it?
Yes, with caveats.
- My infrastructure costs are lower than they would be on AWS.
- My data‑residency story is clean.
- I understand my stack deeply because I had to build it myself—there’s no “just click the AWS button” escape hatch.
The trade‑offs
- It took longer than I expected. Every service I self‑host is a service I must maintain.
- Every EU provider I chose has a smaller community, thinner documentation, and fewer Stack Overflow (or Claude) answers when things break at 2 AM.
Advice for anyone considering the same path
- Go in with your eyes open. The EU infrastructure ecosystem is real and maturing fast, but “Made in EU” is still a conscious choice, not a default.
- The defaults of the tech industry pull you west across the Atlantic; swimming against that current takes effort.
Bottom line
It’s effort worth spending—but it is effort.
If you’re curious to see the finished product, check it out here: hank.parts