I think we all knew GitHub was doomed as soon as Microsoft acquired it. I've been gradually migrating away from Big Tech and U.S.-based digital services, but I hesitated to wean myself off of GitHub out of laziness and inertia. The recent policy change to have your repo's train Copilot unless opted out and then Copilot injecting ads into PR's provided the impetus I needed to finally take the leap.
My biggest barrier was not a host for my repo's but that GitHub Pages acted as a host for both this blog and my CV. For these I needed not just a code forge, but a Pages replacement. My requirements were pretty simple: something hosted in Europe and with static website hosting. Switzerland-based CodeFloe (hosted on Hetzner servers in Germany) fit the bill.
Hello, CodeFloe!
Migration was relatively simple. This blog post was helpful (CodeFloe is a Forgejo instance), especially the bits about the GitHub CLI. The only issue I faced was that the personal access token I was using to perform the migrations stopped working about halfway through, presumably after I violated some usage limit. I was able to create a second token and complete the migration without further issue. I had a couple minor hiccups getting the Pages functionality for this blog properly configured, but an admin over at CodeFloe quickly sorted those out for me.
Now all my repo's live at CodeFloe and have been deleted from GitHub. This blog is now hosted in Europe. I will retain my GH account for now (because I use it for work), but eventually I will delete that as well.