Github is a double edged sword. Use it when you must, but you should self-host whenever possible.
I started with gitlab
as it was the most popular github
alternative at the time, and I think for medium-large businesses hosting their own local, dedicated git instance, gitlab
is probably a good choice.
For me though, gitlab
wad definitely overkill. The upgrades get very complicated, and I'm ultimately just not a big Ruby on Rails fan... I just wanted locally hosted git
that I could also browse easily via http
, especially to graphically view older commits and branches, because every once in a while I do leave the terminal...
After gitlab
my next solution was Gitea
, as I read it was a community fork of gogs
so I assumed it must be better... In hindsight, I would say Gitea
is working hard to compete with GitLab
. That's fine, but `GitLab` is actually what I wanted to get away from.
You can find a Gitea feature list here:
https://docs.gitea.io/en-us/comparison/
Here's an old sysadmin rule of thumb: If it involves
Me, screaming... every time I do something with LDAP...LDAP
, run the other way!
In all fairness, LDAP
is necessary for directory based authorization and authentication. With lots of users, you're kind of stuck with it and so you better know how it works. Everything connected to X.509
is a whole different mindset than the rest of the Linux and Open Source movement. If software had an attitude, ldap software and the zshell would be at opposite edges of the attitude spectrum.
I spent a long time actually getting gitea
to work in my particular configuration, and just ended up dedicating way more time to it than I really wanted to. For me, git
isn't very much different from samba
... I just want it to work so I can focus on problems that I'm more interested in.
I would recommend gitea
to anyone looking at gitlab
and vice versa. These two are very similar. I think that blindly running either of them in a container just because you can is asking for trouble though. Go through the manual instillation and know how to set things up from scratch. If you can't do that, you shouldn't run it, because you won't be able to fix it when things go wrong. You want a sysadmin that knows how to set these up and how to manage them, back them up, and fix problems along the way.
So I spent far more hours than I'm proud to admit trying to get gitea
working in my particular environment, but when I decided to switch over to gogs
, I had it all working and my old repos migrated over within 30 minutes.
If you're just looking for a simple, self hosted git
server via `https` in 2022, I think that gogs
is what you are looking for.
Another nice "self hosted" option is cgit but the default interface is very dated, and it's even more minimal than my ideal feature set.
If neither gitlab, gitea, gogs or cgit are what you're looking for, maybe check out the awesome self hosted list, but a lot of these are very niche and not well supported.