How this blog is deployed

gitea (main repo) -> metroline (custom hugo build container) -> github release (via custom container to clone from gitea and push to github) -> cloudflare pages (this is auto when there’s a commit in the github repo)

I had to do it this way since CloudFlare Pages only work with Github. It’s not perfect, but this means Github only has the public HTML nothing more.