I mainly just use bare SSH and/or point my web server to my repos as I don't really need a whole UI for stuff I'm pretty much the only one that will ever use it.
I feel like it's a git feature that's often overlook by those that have only used to GitHub/GitLab/Gitea before. Git was originally designed to just be a folder on a server you have SSH access (read-write) or HTTP(S) access (read-only).
I've used Gogs and Gitea in the past but found it overkill for my needs.
Exactly what I do. Unless you need fancier collaboration features--issue tracker, UI for handling PRs, etc--a bare repo on the other side of ssh plus something like cgit if you want to make the code available via a browser is perfectly sufficient.
I used raw SSH for years but occasionally I had to share accesss to a repo with sonebody else, and the whole dance with creating an unix user and giving proper permissions was only fun for the first time.
I started on Gitlab, which was a monster to run. I moved to Gitea, until the developers started doing some questionable things. Now I'm on Forgejo (a fork of Gitea).
Gitea. Because, I don't know when Big Brother will decide to snoop or takedown my repositories
But the biggest dilemma I face is everyone's on GitHub, not on my little Gitea instance. I think I should use GitHub for my public repositories where I need collaboration. Anyway, that's a different issue
@activator90 https://forgejo.org/ is attempting to solve that problem. If we all adopt it (or other federated forges that may appear), we don't need GitHub at all.
The only selfhosted github I know about is github enterprise.
If you just want to host git repos, gitea, and gitlab are good. You don't need that to host git though, git is peer based and doesn't require a fancy dashboard to work.
I've had gitlab/gitlab-ce running on my NAS for 6+ months and it's been reliable, mostly as a central repository and off-device backup. It has CI/CD and other capabilities (gitlab/gitlab-runner, etc), but I've not implemented them.
I used many of them and settled for bare repos on an host with ssh access
gitea / gogs: too many database corruptions I am getting ptsd just talking about it
gitlab: too big, too resource hungry for something so simple. Didn't use 90% of the stuff that offered
gitbucket and onedev: those are very good and are sort of setup and forget because they just work. They have different features set so check them out.
In the end given that I just have a bunch of users and don't need many fancy features (we share patches over email and matrix) on our community server we are just using ssh and klaus as a web frontend
Can automate anything you want, a website or wiki use it to roll out any new changes automatically and others use it to test their software. Connects to Gitea/Forgejo as a third party application and requires that it be granted the appropriate permissions in the Settings -> Applications column.
It's basic SSH-based git, but also allows you to manage permissions for users and groups based on their SSH keys. You do all configuration by editing a file in the adminstration repo and pushing those changes to the server. I don't want a web interface or any heavy service running all the time so this suits me perfectly.