V2 — Cloudflare Pages Migration (Current)
Executive Summary
Section titled “Executive Summary”Version 2 splits the infrastructure by workload type. Static frontends are built and served from Cloudflare Pages. The Hetzner VPS remains online for backend services, dynamic applications, APIs, and any page that is not a pre-rendered static build.
This replaces the v1 model where every site — including fully static documentation — ran as a Docker container behind Nginx Proxy Manager.
Why the architecture changed
Section titled “Why the architecture changed”Version 1 treated the documentation site like a dynamic app: GitHub Actions built the project, copied dist/ to the VPS over Tailscale, and Nginx routed traffic to an nginx container. That added operational overhead for a site that is 100% static HTML, CSS, and JavaScript at build time.
Static frontends belong at the edge. Backend logic belongs on a server you control. Mixing both on the same VPS made every doc update touch Docker, NPM, TLS, and a custom deploy pipeline.
The new model:
| Workload | Platform | Examples |
|---|---|---|
| Static frontends | Cloudflare Pages | docs.pablorosi.dev, pablorosi.dev |
| Backend & dynamic apps | Hetzner VPS | APIs, databases, admin tools |
The Hetzner server is not decommissioned — it shifts from hosting everything to backend-only, which is a better fit for future non-static projects.
Key Benefits
Section titled “Key Benefits”- Zero Maintenance: No need to manage Nginx certificates or OS updates for the frontend. Cloudflare handles TLS, CDN, and static hosting for Pages projects.
- Cost-Effective: Zero operational cost for static frontends using Cloudflare’s Always Free tier.
- Performance: Static assets are served from the edge, achieving near-instant load times globally with zero server overhead.
- Simpler deploys —
git pushtriggers build and publish; no Tailscale, SCP, ordocker composefor docs. - Preview URLs per branch for review before merge.
- Smaller attack surface on the VPS — no docs container or NPM proxy host for static sites.
- Clear separation — frontend and backend can evolve independently.
Documentation Directory
Section titled “Documentation Directory”- Cloudflare Pages Deployment — build settings, repository layout, and deploy pipeline
- DNS & Routing for Docs — how
docs.pablorosi.devandpablorosi.devpoint to Pages instead of the VPS