Self hosting, with not-invented-here and you ain't gonna need it syndroms.
2022 (1st)
I opened thebus.top the 5th of December. At first it was just to host an API endpoint for my Champions of Regnum related website.
Despite its tiny specs (single core, 512MB of ram), the server was largely able to handle the 30000 API requests per week the website required as its popularity grew, leaving me enough room for other things.
Until 2024, the website was pretty dormant, with placeholder pages, excepted a short lived installation of honk.
That is, until sleeping Joe left the office.
2024: bring the boys back home (2nd)
Being as pessimist as a French could be, I felt the change in the wind, and opted to literally leave all US-bound things out, and bring back everything in Europe and under my control. Given how badly it's turning out at the moment I'm writing this, I'm pretty happy.
The .top
domain name is Chinese-bound and I can't do a thing about it, but
the server data was already in Germany, and that's all that matter to me.
As such, it was time to get rid of Github the more I could, hosting my social stuff, and while here restarting a blog. Using my own code if possible, because I wanted to cover all my uses cases, and only them.
The second iteration was a mess, the blog was planned to be Python based, but all the other parts of the site was made using good old server side includes. The website lacked consistency, but most blog SSGs are bloated to me. Let's persevere!
March 2025: moving to PHP, back in the fediverse (3rd)
I literally translated everything to PHP. Given the low specs of my VPS, I quickly found out that was nice but too slow. I had to resort to use server side caching, which wasn't very elegant.
Meanwhile, I successfully installed the snac2 activity pub server and now can be found at @mascal@bench.thebus.top. It's lean and mean, supports 3rd party fediverse clients, will be in Debian packages starting with Trixie, even though I think I'll use the backports version.
It's very complex to write a good Fediverse server, and Grunfik made things right for me out of the box <3
April 2025: Mostly leaving Github (4th)
I first rewrote all the PHP things to an unified shell script. Static generation, but I don't separate sources from html files. Because it's a lemonade stand after all, but now it's amazingly consistent.
All this to be prepared for The Depot. It's based on a Git post-receive hack, it's tricky and dirty but it just works. I don't need branches (at least publicly), and I write things that don't get popular, so I don't need a full Git hosting solution like Forgejo or Gitea.
Only the Champions of Regnum stuff, anyway in maintenance mode, will continue to use Github. I promised the community.
April 2025: We're done! (5th)
While the shell scripting was pretty good, it didn't scale performance-wise. I could have made it scale but would have turned ugly.
I rewrote the whole thing in Python, with feedgenerator, mistune and bottle templates. Now it's way way faster and cleaner.
I also made a complete rework of the site design, improving accessibility and looks *ahem*, while keeping the whole site accessible to even dial up users. Heck, it even runs on IE8!
Conclusion
I'm done!
It took me some time to get there. Mostly because of refactoring to another programming language at each iteration. Deep inside, I knew I should have started with Python, but instead wasted my time.
Sure it's minimalistic and would not fit for everyone, but having your own unified platform that you can tweak as much as you want is priceless.
Hopefully, I don't have to host my mails. I hate emails anyway, but use an European based provider since more than a decade now.