Cloudflare Pages vs GitHub Pages
Cloudflare Pages vs GitHub Pages compared for European indie developers and small startups. Pricing, EU jurisdiction, GDPR posture, and why Runsite (an EU-registered PaaS in Frankfurt) is worth a look.
Cloudflare Pages vs GitHub Pages: quick answer
Cloudflare Pages and GitHub Pages both offer Git-push deploy workflows, but they differ where it counts. Cloudflare Pages and GitHub Pages are both US-headquartered, so neither escapes US jurisdiction or the CLOUD Act, and neither runs EU-native infrastructure or offers hard spending caps. For European teams that need GDPR-compliant hosting in Frankfurt with predictable EUR billing and a permanent free tier, Runsite is the EU-native alternative to both.
// cloudflare pages problems → runsite solutions
Common Cloudflare Pages frustrations. Sound familiar?
Every Cloudflare Pages frustration, solved.
Cloudflare Pages problem
"Pages Functions can't run my backend"
Cloudflare's edge functions have CPU time limits and no native Node.js modules. Complex backends don't fit.
Runsite solution
Full Docker containers
Run any framework in persistent containers. No CPU time limits, no V8 isolate restrictions.
Cloudflare Pages problem
"I need PostgreSQL, not D1"
Cloudflare's D1 is SQLite-based with size limits. Production apps need a real relational database.
Runsite solution
Managed PostgreSQL from €5/mo
Standard PostgreSQL with auto-backups, point-in-time recovery, and no vendor lock-in.
Cloudflare Pages problem
"Cloudflare is a US company"
Even with EU data centers, Cloudflare is subject to US jurisdiction and the CLOUD Act.
Runsite solution
EU entity, full sovereignty
Runsite is registered in the EU. Your data is governed by European law with no US jurisdictional exposure.
// comparison
Runsite vs Cloudflare Pages
Side-by-side. No marketing fluff, just facts.
| Feature | Runsite | Cloudflare Pages |
|---|---|---|
| Backend Hosting | ✓ Full containers, any stack | Edge Functions only (V8 isolates) |
| Docker Support | ✓ Any Dockerfile | ✗ Not supported |
| Managed PostgreSQL | ✓ From €5/mo | ✗ Not available (use D1/KV) |
| Long-Running Processes | ✓ Persistent containers | ✗ Edge functions have CPU time limits |
| GDPR Compliance | ✓ EU entity | ✗ US company (San Francisco) |
| Static Site Hosting | Via S3 + CDN | ✓ Unlimited bandwidth, global CDN |
| Bandwidth Cost | Included in plan | ✓ Free, unlimited |
| Edge Network | EU-focused | ✓ 300+ global PoPs |
// the other side
What about GitHub Pages?
GitHub Pages hosts static files. Runsite hosts actual applications: APIs, databases, background workers, and more.
// github pages problems → runsite solutions
Common GitHub Pages frustrations. Sound familiar?
Every GitHub Pages frustration, solved.
GitHub Pages problem
"GitHub Pages can't run my API"
It serves static files only. No Node.js, no Python, no server-side code. You need a separate backend provider.
Runsite solution
Full-stack hosting, one platform
Deploy your frontend and backend together. Run any language in Docker containers with databases and storage.
GitHub Pages problem
"I can't use it for commercial projects"
GitHub Pages Terms of Service prohibit using it for online businesses, e-commerce, or SaaS.
Runsite solution
Built for production and SaaS
Runsite is designed for production workloads. Deploy commercial apps with full EU compliance.
GitHub Pages problem
"1GB size limit and 100GB bandwidth"
GitHub Pages limits repos to 1GB and bandwidth to 100GB/month. Growing projects hit these limits fast.
Runsite solution
No artificial limits
S3-compatible object storage for assets. Compute and bandwidth that scale with your needs.
// comparison
Runsite vs GitHub Pages
Side-by-side. No marketing fluff, just facts.
| Feature | Runsite | GitHub Pages |
|---|---|---|
| Backend/API Hosting | ✓ Full containers, any language | ✗ Static files only |
| Databases | ✓ Managed PostgreSQL from €5/mo | ✗ Not available |
| Docker Support | ✓ Any Dockerfile | ✗ Not supported |
| GDPR Compliance | ✓ EU entity | ✗ US company (Microsoft) |
| EU Data Centers | ✓ Frankfurt (eu-central) | ✗ Global CDN, no region control |
| Commercial Use | ✓ Allowed | ✗ Explicitly prohibited |
| Static Site Hosting | Via S3 + CDN | ✓ Free, simple |
| Price | Free tier + from €5/mo | ✓ Free (public repos) |
// in-depth comparison
How Cloudflare Pages and GitHub Pages each compare to Runsite
Cloudflare Pages vs Runsite
You reached for Cloudflare Pages because it is one of the fastest static site hosts around, riding Cloudflare's 300+ point-of-presence global network. The free tier is genuinely generous with unlimited bandwidth, and Pages Functions, powered by Cloudflare Workers, push server-side logic to the edge with impressive cold-start performance. For a static site or a lightweight API, you made a good call.
The friction shows up the moment you go full-stack. Pages Functions run in V8 isolates with CPU time limits and no native Node.js module support, so a complex backend simply does not fit. Your storage is capped to D1 (SQLite-based, with size limits) and KV (eventually consistent key-value). And because Cloudflare is a US company subject to the CLOUD Act, EU data centers exist but you do not control where compute runs.
If you now need persistent server-side processes, a real relational database, or guaranteed EU data residency from an EU entity, Runsite runs full Docker containers with managed PostgreSQL in EU-only data centers under EU legal jurisdiction, covering what the edge-first model leaves out.
GitHub Pages vs Runsite
You reach for GitHub Pages because it is the simplest way to get a static site online. You push HTML, CSS, and JavaScript to a repo, enable Pages, and you have a live site on a free github.io subdomain. For documentation, portfolios, and project landing pages, that is hard to argue with.
Then your project grows, and the constraints turn out to be fundamental: static files only, so no server-side code, no databases, no background workers. You run into the 1GB repository limit and the 100GB monthly bandwidth cap. GitHub's Terms of Service explicitly prohibit commercial use, and because it is a Microsoft-owned US service, there is no EU data residency option. Runsite deploys full-stack applications: any language in Docker containers with managed PostgreSQL, S3 storage, and all compute in EU data centers.
Once you need server-side logic, a database, or EU-compliant hosting for a commercial product, Runsite is the natural next step. The free tier lets you transition without upfront cost.
// why consider runsite
Beyond Cloudflare Pages and GitHub Pages
EU PaaS for indie developers and small European startups. One region: Frankfurt.
EU-First Infrastructure
While Cloudflare Pages and GitHub Pages default to US markets, Runsite is built exclusively for European developers. Frankfurt (eu-central) region, EU entity, EU jurisdiction, with no transatlantic transfers.
Real GDPR Compliance
EU-registered entity. Your data is governed by European law. No US jurisdiction, no CLOUD Act.
Predictable Pricing
No per-invocation charges, no surprise bills. Fixed plans with hard spending caps and Telegram alerts.
Common Questions
FAQ
Which is better for EU hosting, Cloudflare Pages or GitHub Pages?
Neither Cloudflare Pages nor GitHub Pages is EU-native. Both are US-based (Cloudflare Pages: US-headquartered (Cloudflare); GitHub Pages: a US Microsoft service) and route most traffic through US regions, with EU availability that is usually limited or gated behind higher tiers. Even when you can select a European region, the parent company stays subject to the US CLOUD Act, which can compel disclosure of EU customer data. For genuine EU data residency, an EU-registered platform is the safer choice: Runsite runs exclusively in Frankfurt (eu-central) under EU jurisdiction, with no transatlantic transfers and no CLOUD Act exposure — the kind of guarantee neither US provider can make.
Which has the better free tier, Cloudflare Pages or GitHub Pages?
Free tiers on both Cloudflare Pages and GitHub Pages change frequently and tend to share the same catch: compute that sleeps after inactivity, bandwidth or build-minute caps, or trial credits that expire after a fixed window. They are fine for quick experiments but rarely sustainable for an always-on hobby project. If a permanent free tier matters, read the current terms carefully. Limits are often buried in the pricing footnotes. Runsite takes the opposite approach: a free tier with no credit card and no expiry, designed to keep small projects online indefinitely rather than nudging you onto a paid plan.
Is Cloudflare Pages or GitHub Pages GDPR-compliant?
Both Cloudflare Pages and GitHub Pages can be configured to support GDPR-compliant workloads through a signed Data Processing Agreement (DPA) and EU region selection where available. However, as US-incorporated entities they remain subject to the US CLOUD Act regardless of where the data physically sits, which is a documented sticking point for European compliance and DPO review. For workloads where US jurisdiction is a hard blocker (public-sector, healthcare, or privacy-sensitive consumer apps), an EU-headquartered provider removes the ambiguity entirely. Runsite is EU-registered with data kept inside the EU, so GDPR posture is the default rather than a configuration exercise.
What is the cheapest way to deploy a side project, Cloudflare Pages or GitHub Pages?
For a single small service, both Cloudflare Pages and GitHub Pages can look inexpensive on paper. The headline price rarely matches the real bill. Per-service billing, metered bandwidth, build minutes, and add-ons for databases or key-value stores stack up quickly, and neither platform offers a hard spending cap to stop a surprise invoice. The cheapest predictable option is one with fixed monthly pricing and an enforced ceiling. Runsite bills in EUR from €5/month with hard spending caps and Telegram alerts, plus a permanent free tier, so a side project stays cheap by design, not by careful monitoring.
// explore alternatives
Try the European Alternative
Skip the Cloudflare Pages vs GitHub Pages debate. Deploy on Runsite.
Start Free on Runsite →