Mini project done! I moved 3 of my sites from hosting on Hetzner VPS to Cloudflare Pages, and it’s was one of those changes that makes me wonder why I didn’t do it sooner. The process was surprisingly easy, and the result is a much simpler workflow and a little peace of mind.
The Old Setup
Until recently, I had a pretty typical self-hosted setup:
- Three websites (leerink.me, skadilabs.dev, and takeoutday.org) running in Docker containers
- Nginx reverse proxy handling the routing
- Let’s Encrypt for SSL certificates
- Cloudflare for the DNS
This works, but like all self-hosted solutions, it required regular maintenance. Renewing SSL certs, updating containers, security patches, occasional debugging when something breaks… you know the drill.
The Migration
Moving to Cloudflare Pages was surprisingly easy:
- Created GitHub repositories for the 3 sites (I used my self-hosted Gitea before)
- Connected these repos to Cloudflare Pages
- Set up basic build configurations and setup auto deploy.
- Updated my DNS settings
That is it, question of few minutes.
The New Workflow
- Make edits in WebStorm
- Test locally
- Push to GitHub
- Cloudflare automatically builds and deploys and keeps me updated.
- Site is updated in seconds
That’s it. No SSH sessions, no container management, no certificate renewals.
Why?
As someone who loves to do things myself, you might think that part of the fun of having these sites, is doing all the work myself. But this move to Cloudflare to me was the learning actually, it is my first “personal” pipeline, I have build some Jenkins stuff in the past but never for myself It was always work related.
So now with Cloudflare Pages handling things:
- The sites probably load faster thanks to their global CDN
- I don’t worry about scaling if something suddenly gets popular, need to keep an eye on the Free usage limits tho ;)
- Security is taken care off.
The Tech Stack Now
My current setup is refreshingly minimal:
- Static site files in GitHub repositories
- Cloudflare Pages for building and hosting
- Cloudflare DNS (which I was already using)
- WebStorm for local development
No containers, no server configs, no certificate management… just code or write an article, commit, and deploy.
image credits: Images by Nazar Sharafutdinov on Unsplash