To use with Git
I use gitea
Gitea.
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.
To make this easiert, you could have used gitolite 🙃 That was my first attempt in 2010 or something and it worked fine.
I have used Gogs and Gitea in the past, now Forgejo is a fork of Gitea with Woodpecker-CI
What is woodpecker for?
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.
Cool, tysm
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
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.
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.
I use stagit. It runs whenever I push code to a repo, and then serves everything as static HTML pages.
It only provides a web interface for git repos though, and for the master branch.