Yay! I have moved two sites to my new, completely #selfhost ed setup with #forgejo actions on my own forgejo instance and my own forgejo runner! So from now on I can update https://stallmanism.org (and .com, .net, the Holy Trinity ;) and my playground called https://sandbox.wildeboer.net from everywhere in the world on my laptop. The final result of a lot of help from the geeks in the #Fediverse as you can see in https://social.wildeboer.net/@jwildeboer/113652697058183894 Now some final touches before I write it all up in a blog entry.
For the geeks: Jekyll sites in git repos on my forgejo instance that runs as a rootless container. Forgejo runner on one of my RHEL (Red Hat Enterprise Linux) servers. A Forgejo action that runs Jekyll as another rootless container via #podman to build the static sites and puts it in a git repo called web, which gets pulled to the /var/www directory on my ngninx web server. All with #SELinux enabled. And every site with a #letsencrypt certificate that gets updated automatically, when needed.
I have the git repos on my laptop and can check them with a `jekyll serve` locally before I commit and push. The push starts the workflow, which ultimately results in a git pull on my web server.
So I now have more or less my very own #GitHub Pages, completely under my control and completely built with Free and Open Source Software. This is something I wanted to have since many years. And thanks to the hard work of many, many projects and fellow open sourcerers, it is now possible to become a sovereign internet citizen. I am humbled and impressed. Now to write the blog entries to explain what I did, in the hope that some of you are inspired to become less dependent too :)
I will have a beer to celebrate before I try the hard thing — moving my blog https://jan.wildeboer.net to this new infrastructure. As it is a quite old Jekyll site, I might even go for a full redesign if I encounter too many problems :) Stay tuned! And stay Open (Source)!
From that blog:
- How I manage my DNS https://jan.wildeboer.net/2022/07/DNS-done-my-way/
- How I run my mail server (series) https://jan.wildeboer.net/2022/08/Email-0-The-Journey-2022/
- Using Woodpecker on Codeberg after I converted my blog from Wordpress to Jekyll (and keeping all URLs working) https://jan.wildeboer.net/2022/07/Woodpecker-CI-Jekyll/
- Comments with ActivityPub on my blog: https://jan.wildeboer.net/2023/02/Jekyll-Mastodon-Comments/
- Running a runner on a Forgejo instance https://jan.wildeboer.net/2024/08/Running-a-runner-codeberg/
I am stoic. I have goals and I work towards them. And share the steps :)
And done. My blog https://jan.wildeboer.net has just left codeberg pages and is now hosted on my own server. Yay! It might take some time for your DNS to catch up on this change, but it is done.
@jwildeboer Cheers and good luck!
Browser complains that the conn is not safe.
@jwildeboer standing on the shoulders of giants!
@jwildeboer I spent a few hours on the weekend to setup a minimal git-push-update-static-site process on NixOS, on the same host where forgejo runs, without actions or containers. So far I'm pretty impressed, 200 LOC of nix configuration results in a working and long-term reproducible setup, and thanks to systemd-analyse security, the hugo build service is locked down as much as possible. Might as well write a blog post about this in the future.
@jwildeboer Just as completely irrelevant side note, there is also an European acme service:
https://fosstodon.org/@Beowulf/113516446712547144