Hi, i’m a software developer and i want to implement a self hosted git server on my home server. I hear about gitea, gogs, gitlab, GitBucket, kallithea, etc… but i don’t know how choose.
Gitlab
Forgejo maybe? (Gitea fork)
I recently moved from gogs to gitlab. Mostly for the built in CI. Pretty happy with it. Install one, and try it for a bit, only way to know if it suits you. Its not too hard to switch between them if you have to transition later on, just git clone and repush to the new server.
In my opinion, Gitness, its very Good git ui server, for self-host with DI (https://github.com/harness/gitness)
OneDev
Just plain git over ssh does the job for me. Nothing else needed to “host” it.
I use OneDev. I haven’t tried anything else since I’m happy with it.
Things I like
Personal git server
Web interface
Automated Build pipeline
Ability to clone repos on github locally for my own copy. Given githubs reputation for deleting repos it doesn’t like, this is a good way for me to have my own source server.
Always online, always available .
I used gitlab for a while, but it was a bit resource-heavy for my two whole projects. So just a heads up I suppose.
If you don’t need a UI, I would use this: https://git-scm.com/book/en/v2/Git-on-the-Server-Setting-Up-the-Server
Gitea
I am currently experimenting with soft serve, which is just a terminal interface to git. Looks fairly nice so far, doesn’t clutter my server and seems to run stable (at least the last week, just started testing). I also wanted to test gitea but this is just for my solo stuff and gitea looks like it would be overkill for that
Gitolite is an excellent choice if you want to host multiple Git repositories and regulate access to them without any unnecessary bloatware. It focuses solely on Git repositories and access control. Setting it up is relatively straightforward.
Gitea 👍🏻
I am currently using Gitea and DroneCI, as well as Jenkins (on other servers). Gitea and DroneCI run well on my server with limited resources, and I mainly use them to host private projects and mirror Github repositories for backup.
Gitea’s interface is relatively outdated, but I believe the community will have plans to renovate it in the future.
I’ve enjoyed Gitea, has GitHub compatible actions and (as of this week) even supports scheduled workflows (like cron). I’ve used GitLab in the past and this is a much better experience.