It seems like there’s a lot of ways to go about this that may be overkill, so I’m curious which may avoid that.
Low maintenance in this context is aiming for moderate technical knowledge/setup, lower cost, and portability in case you need to migrate your site and so minimal hassle in that process.
If you are looking for true low maintenance, avoid needing a DB. So I’d stay away from the WordPress suggestions. Not to mention keeping WordPress CVE free is often a full time job and the opposite of low maintenance.
I’d use one of the many tools out there that takes Markdown and coverts it to HTML, stick that in a basic CI job on Gitlab or Github to build out my HTML and I just write markdown.
Once that’s in place how I would decide if I wanted a custom domain.
If I don’t need a custom domain, then I can just augment the pipeline to publish to Gitlab/Github pages.
If I want a custom domain then it depends on budget and expected traffic, but I’d likely just put it on an ECS container or in an S3 bucket and shove cloudfront in front of it, because if it’s small enough it will likely qualify for free tier AWS. If it’s too big for free tier then I’d stick with a container but likely either put it on a cheap cloud node with Apache and letsencrypt and one of the smaller providers like Linode/DO/Vultr
Appreciate the breakdown! Ngl though you lost me at the end with the ECS container/S3 bucket stuff (as in, I dunno what ECS is, I think S3 bucket may be something akin to a VPS? but yeah), but that may just be an indicator it’s much more than I’d probably need/want for my interests.
Ah sorry, I’m an SRE/Devops guy professionally so I forget that containers are still way out of folks experience range 😅
ECS would also incur either Fargate or ECS, and S3 + Cloudfront, while robust is definitely not very simple. I’m not saying it is hard, just complex.
Your Github / Gitlab Pages solution is a great idea… even if you want to use custom domain. They both support it.
Yeah fair, I think of them as simple… Guess I’ve been in the trenches too long 😂