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...
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:
Here's an old sysadmin rule of thumb: If it involvesMe, 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.