git.legoktm.com is back, sort of

By

I started hosting my own Git server on git.legoktm.com in 2015 using Gogs, and in 2018, I opened it up to the world. Only a few friends and many, many spambots took me up on that offer.

I never got around to migrating the Gogs setup to Gitea, and then when the Forgejo fork happened, I was totally behind. At some point last year, because of a combination of Gogs having unfixed vulnerabilities and the excessive traffic from scrapers taking down my tiny VPS, I turned it off, letting the entire domain return HTTP 503 errors.

I expected that to be the end, thinking that I'd find some other Git hosting provider and move all my stuff there.

For various reasons, I wasn't entirely satisfied with any existing Git hosting providers and at the same time I thought it was kind of stupid that I, a pretty competent sysadmin, couldn't run my own Git host. So I took a bit of time to develop a new setup, and I'm happy to announce that git.legoktm.com is partially back.

By partially back I mean you can just clone and pull repositories, and that's it. They are served using the "dumb HTTP" protocol, which means server-side it's just static file hosting and nothing else. And there's a very basic HTML page that tells you the clone URL (example).

Most, but not all, of the repositories that used to be on git.legoktm.com are now once again clonable using their old URLs. I will backfill the remaining repositories in the next few weeks.

To the best of my knowledge, all previously working clone URLs should be supported; if something that used to work isn't, please let me know, because that's a bug. git.legoktm.com itself is still a 503 for now, I'll add a repository listing at some point.

At some point I may add a web repository viewer, but I plan to implement it fully client-side, i.e. the browser would fetch the various Git objects, calculate whatever is needed, and then display it to the user. Instead of gating on wasteful proof-of-work check, I call this hypothetical system "do the work" because you do some computation, and that work is the result you wanted!

Under the hood I'm running Forgejo, but it's only accessible via my intranet. Repositories that I designate as public are rsynced to git.legoktm.com, which I think nicely lets me run a Git server and make my repositories public without needing to worry too much about the security of Forgejo or server load.