Arcana Labs' New Forgejo Instance

Last Updated: 2026-07-09 00:00:00 -0500

With how busy I have been with the new job lately, and my increasing push to focus on projects and uses of time that remove annoyance, unfortunately today’s announcement is not a shiny new project (of which there are a few in the hopper), but instead infrastructural news. I know, it’s so sexy. In a move surprising nobody paying attention, I have decided to announce that Arcana Labs Projects are moving to Forgejo. There are many good reasons for making this move and honestly I’ve been looking for the liferaft off the back of the sinking ship that is Github for over a year now; according to ticktick, I registered the earliest late last year. We’re going to get into it.

Where’s the Code Now?

If you want the very short version of this, all of our projects that were previously posted to github are now posted to the Arcana Labs Forgejo Instance. Currently, you will notice that it is not possible to self-register a user. There are a mixture of technical and administrative reasons for this, but don’t worry. Drop me a line if you want an account. I have kept my username and the repository names the same so in principal, changing your upstream is as easy as chanting the FQDN at the front of your remote definition.

For those using SSH to clone and push instead of https please bear in mind the appropriate port number is 222. Technical limitaitons.

Why Do This?

Github has been on the decline almost the entire time I have been using it, since the registration of my account was roughly coterminous (within the resolution of about a year or so) with Microsoft buying them out. We all know the enshittification that comes with ownership by one of the cartel-tier tech companies, so I won’t exhaustively list every individual annoyance with the platform.

The biggest problem, ethically and energetically, with ongoing use of Github is their ongoing support for, promotion of, and kowtowing to the unethical training and usage of Large Language Models to serve as code generation utilities in lieu of human expertise and oftentimes in violation of the licenses attached to the projects hosted on their site. These language models are proprietary, so their training on GPL, Apache Licensed, and MIT licensed FOSS projects that had been uploaded to github in otherwise good faith is a violation of the actual letter of those licenses as well as the broader ethos of FOSS and OSHW philosophies. If you can’t tell, we take those philosophies pretty seriously in this lab, and this is an insurmountable obstacle to the continued use of github for us.

Secondarily, cost was a major factor. With the increasingly broad exchange gap between USD and CAD, and github’s insistence on bundling unethical features (and features for which we have no use) into the most basic version of their membership, a github membership is an absorbable, but increasingly annoying, cost. For the most part, all software and hardware development done in the lab has always been Open First and Paid Second. Apart from computing equipment, electricity costs, and internet costs (which we would pay for anyway), a github membership remained the last “cost centre” represented anywhere in our software and hardware development projects. Standing up our own git host with a comparable feature set was the best way to port over the large number of private repos that were causing us to have to pay for github. Now, we needn’t maintain that license anymore.

Also, as alluded to earlier, Github over the last several years has delivered the “death by a thousand cuts” of continuous feature delivery I have often complained about. Forgejo is closer in design ethos to “Github at its Best” than github itself is.

Was This Hard?

In fact no. I’m tempted to write a small guide about it but I’ve honestly spent more time writing this blog post than I did in the actual setup of forgejo and migration of the repos to it. There’s still a fair jag of administrative work to do “behind the scenes” on both Github and Forgejo, and no doubt I’ll have to do the occasional maintenance shuffle with it, but Forgejo was among the easiest services I’ve had to get set up and configured; certainly less work than the stack for this website. Forgejo can be installed as a stand-alone docker container and the right docker-compose configuration makes it easy to include the data in your Forgejo instance in any backups you are running against your host.

Comments

Using your Fediverse account, you can respond to this article's Mastodon Post. Embracing the spirit of decentralization inherent to the Fediverse, you can use your account on any compatible platform to post. Clicking the "load comments" button below will make your browser request all of the non-private comments and display them below.

This was built based on this reference implementation.