What would you recommend?
Depends on your level of technical expertise.
A static website generator like Hugo is usually a good choice.
If you want a no-code solution, I recently created a homepage using GrapesJS (for free). I’m hosting it on Cloudflare Pages (for free). The whole setup was dead simple and almost completely free, I’m only paying for the domain.
EDIT: oops, that isn’t technically self-hosted…but GrapesJS is a very cool tool for building a simple HTML website. Just make it looks like you want and it’ll spit out all the files you need for hosting wherever your heart desires. Caddy, GitHub, whatever.
Probably overkill, but for projects like this I’ve setup WordPress in the past. Once everything was done, I converted the WordPress page to a static site with httrack and use the static version.
This gives the ease of setting up and editing combined with the stability and security of a static HTML website.
As others have said: it depends on your technical expertise… But a nice and cheap solution is hosting a static blog build with Jekyll on Gitlab pages.
HTML and Caddy.