[Toybox] GitHub Self Hosting Alternative Gitea
Rob Landley
rob at landley.net
Wed Nov 13 12:44:40 PST 2024
On 11/13/24 03:20, Moritz Christian Weber wrote:
> https://github.com/go-gitea/gitea
>
> Read a lot good about gitea, but have no deeper experience. At least the
> community edition is free and open source under MIT license.
>
> Maybe someone has more hands on experience with it
Jeff and I installed gitea on a machine last year, to set it up for some
internal (behind the firewall) j-core engineering projects. One of them
was a linux-kernel fork and the command line git instances it ran behind
the scenes ate 2 gigs of ram each trying to do anything in that repo, so
if you ever had 3 people browsing the linux repo at once the 4 gig VM it
was in went down, which even on a fairly small engineering team we
couldn't guarantee.
But that was a git problem dealing with a large project with a long
history, not specifically a gitea problem, and shouldn't be an issue for
toybox anyway. (There was some config tweak they did? Was it checkins or
browsing that caused the usage spike? It's coming up on 2 years ago and
Rich dug into the details of that one more than me, I just remember the
install had structural issues that made "expose to this to the public
hosting a linux fork" questionable...)
The problem with me running my own gitea instance for toybox is getting
a dedicated VM with static IP to run it on. Dreamhost's shared hosting
does cgi but not long-running daemons, and gitea is explicitly designed
NOT to do that, and when people asked if that could be changed they
basically went "huh, we didn't think of that, let's not":
https://github.com/go-gitea/gitea/issues/19854
Gitea is easy to set up, nice UI, but not a drop-in fix for my problems
the way
https://lists.mercurial-scm.org/pipermail/mercurial/2007-December/069359.html
was back in the day when mercurial had a web server with reasonable UI
built into the project, and designed to be called as a CGI hook on an
arbitrary .hg directory.
(Which broke a year or so back and now throws an internal server error
and goes "Response header name '<!--' contains invalid characters,
aborting request" into the error logs when I touched NOTHING, but that's
modern python for you. I just chmod-ed the directory so it's forbidden
instead of internal server error and haven't gotten around to fixing it.
Juggling too many balls...)
Didn't there used to be a similar-ish cgi script (in, sadly, perl)
bundled with git? Like 15 years ago? The one "cgit" was created to
replace. Where was it...
https://git-scm.com/book/en/v2/Git-on-the-Server-GitWeb
Which... well it's not a TERRIBLE interface (my little sed one's worse),
and maybe I could get it running in the https://landley.net/toybox/git
directory with a similar .htaccess rewrite engine and hgwebdir.cgi file?
People have done that (and more complicated things) with this before:
https://github.com/tmacam/private-git-on-dreamhost
Instructions last touched 12 years ago, and my old hg cgi setup died
from version skew LAST year. Sigh. Still, probably worth an evening
playing with it. What's a repo running it...
https://git.ghostscript.com/
Oh, it's what kernel.org uses. Duh.
Yes, I had missed the obvious option. Thanks for the poke, I'll throw it
on the todo heap...
> Best regards,
> Moritz
Rob
P.S. Making "my domain, which I personally manage" a single point of
failure is less creepy than making anything ELSE a single point of
failure. The next step would be having it on a server under my desk but
I've done that long ago and it SUCKED.
More information about the Toybox
mailing list