Homepage Setup

Posted: 2025 Nov 08

Current setup

I am currently hosting my homepage (the one you’re reading right now) on Cloudflare pages. It has been completely fine. As my domain is also registered there, I got a free page to use and it was a good solution, because I was in the process of moving so my server wasn’t up for quite a while. The complete setup: HUGO website generator, files hosted on GitHub, server hosted with Cloudflare pages, CI/CD set up between them. It’s very convenient and I wholeheartedly recommend this to anyone wanting to host a simple static website/blog and not wanting to tinker with self-hosting it. Cloudflare Pages has a foolproof way of setting up a HUGO page in particular. Do keep in mind that you still need to buy a domain from Cloudflare to get the free page. You’ll find the settings in Cloudflare dashboard under Compute (Workers) -> Workers & Pages.

The ‘ideal’ setup

Now that my server is somewhat stable and up’n’running, what is the setup I want? I’d want to host the page on my own server. This implies that I’d also want the git server to be self-hosted and thus the whole CI/CD pipeline. I am not willing to give up the continuous deployment, because I’ve gotten so used to just git push to update my homepage once I’ve made some changes. So here is my…

Plan

  1. Find a good git server to self-host (currently thinking about gitea)
  2. Set it up with continuous deployment (gitea requires some build-time options?)
  3. Test the git server with different repos (mirror some repos from GitHub to start backing up my backups)
  4. Choose a CI/CD tool (Jenkins?)
  5. Set up the CI/CD tool on the server
  6. Connect the CI/CD tool to the git server
  7. Set up HUGO testing (?) on the CI/CD tool
  8. Migrate the homepage to my K3S cluster (keep a backup on Cloudflare Pages if possible)

What the future holds?

I might like HUGO for now, but I still find that I’m not using much of its functionality. I do not want to be that guy, but the BLOAT is bugging me. Luckily I am working on my own implementation of a markdown website generator and server in Rust. The primary reason for this is me wanting to learn more Rust. That’s why the whole project from the HTML generation to the file serving is written without external dependencies, only Rusts standard library. I have also been writing many tests for it (I love Rusts unit testing) so I might be able to set up a CI/CD pipeline for that too. Anyway, all of that is coming together slowly as I’m writing it as a side project while still being a full-time student. I will probably write a whole separate post about it too and open-source it once it’s mature enough.

Thank you for reading!

Previous Post
My Intro to Homelabbing
Homelab