Git server:
- serves the bare repo for remote clone/pull/push
- enforce access control
- include web interface for better access
Run your own GitHub-like service with the help of Docker · Docker Pirates ARMed with explosive stuff
Comparisons
Gitea vs Gogs vs Forgejo | Which Git Server is Best in 2025? - YouTube
Gitea vs Gogs vs Forgejo - Which Git Server is BETTER in 2025? (FULL REVIEW!) - YouTube
Sharing port 22
Sharing port 22 with containerized git server
Share port 22 between Gogs inside Docker & the local system
ssh forward git user - Google Search
Match User block with ForceCommand in /etc/ssh/sshd_config
How to SSH gate forwarding git user to gitserver? - Server Fault
ssh - Have sshd forward logins of git user to a (GitLab) Docker container - Stack Overflow
ssh - Forward git user's login name to (gitlab) docker container with sshd
Forward ssh for Git user to Git server - Unix & Linux Stack Exchange
networking - How can I redirect SSH users to another SSH login? - Ask Ubuntu
Git - Setting Up the Server
git user should use git-shell
# test from client
ssh git@<host> /bin/true
ssh git@<host> git-receive-pack <path-to-git-repository>
# on host
ssh -v git@127.0.0.1:10022 git-receive-pack <path-to-git-repository>
git/ssh
vanilla git/ssh
Howto: Git Server over SSH - SysTutorials
GitLab
GitLab GitHub clone, bought gitorious
The Omnibus package (by Chef) simplifies the setup of GitLab ALOT
Download GitLab Community Edition (CE) | GitLab
GitLab 11.0 released with Auto DevOps and License Management | GitLab
Easy & simple guide to Backup & Restore GITLAB - LinuxTechLab
Upgrading GitLab is as simple as:
sudo gitlab-ctl stop unicorn
sudo gitlab-ctl stop sidekiq
sudo gitlab-rake gitlab:backup:create
sudo dpkg -i gitlab_x.x.x-omnibus.xxx.deb
sudo gitlab-ctl reconfigure
Gitlab - ArchWiki
README.md · master · GitLab.org / omnibus-gitlab · GitLab
How To Set Up GitLab As Your Very Own Private GitHub Clone | DigitalOcean from scratch
Gogs
Gogs Extremely Lightweight
Gogs Discussion
Introduction - Gogs - Go Git Service
Troubleshooting - Gogs - Go Git Service
Config Cheat Sheet - Gogs
Gogs, an alternative to Gitlab
API
gogs/docs-api: A repository for Gogs API v1 documentation.
mattddowney/gogs-bash: Bash Script for Interacting with the GOGS API
unfoldingWord-dev/node-gogs-client: A client library for interacting with the gogs REST api
gogs_client — gogs_client documentation Python
gogs/go-gogs-client: Gogs API client in Go. official Go one
Gitea
turned into for-profit company in 2022-10
Gitea OAuth2, CI/CD, LFS, Container Registry, Lightweight
What is Gitea? | Gitea Documentation
Gitea is a fork of Gogs in 2016-11 that is more community based.
Gitea compared to other Git hosting options - Docs
Forgejo
fork of Gitea v1.22
Forgejo – Beyond coding. We forge. OAuth2, CI/CD, LFS, Container Registry, Lightweight
Forgejo v13.0 documentation | Forgejo – Beyond coding. We forge.
Forgejo is a fork of Gitea in 2022-10
Comparison with other Forges | Forgejo – Beyond coding. We forge.
Codeberg.org hosted version
OneDev
OneDev - The powerful and simple DevOps platform OpenID auth, CI/CD, Kanban, Lightweight
Quickstart | OneDev Documentation
Performance Compasion of OneDev and GitLab | by Robin Shen | FAUN.dev() 🐾
Pagure
Home - Pagure.io hosted version
Overview - pagure - Pagure.io
Pagure — pagure documentation
sourcehut
sourcehut: A software development platform for hackers
sourcehut docs - man.sr.ht
sourcehut pricing - the hacker's forge paid hosted version
git-daemon
read-only unauthenticated (public) access
git-daemon(1)
Git - git-daemon Documentation
Git - Git Daemon
gitosis
tv42/gitosis 😴inactive
Mivok.net - Gitosis - manage git repositories sanely
Setting Up a Git Server Using Gitosis - SysTutorials
The git user will check /home/git/.gitosis.conf (which symlinks to /home/git/repositories/gitosis-admin.git/gitosis.conf) for repo access
It will be updated upon push to gitosis-admin.
To debug gitosis, edit /home/git/.gitosis.conf and add:
[gitosis]
loglevel=DEBUG
...
You can even edit it to override the access control.
Gitolite
gitolite replaces gitosis, written in Perl
sitaramc/gitolite: Hosting git repositories -- Gitolite allows you to setup git hosting on a central server, with very fine-grained access control and many (many!) more powerful features.
ssh - How do programs like gitolite work? - Stack Overflow
Internal Git server with Gitolite
How to Set Up A Gitolite Git Server - A Ten-Minute Tutorial - SysTutorials
gitweb
# start server
git instaweb -d webrick --start
# visit http://localhost:1234
# stop server
git instaweb -d webrick --stop
Others
GitPrep GitHub clone in Perl
gitbucket/gitbucket GitHub clone
Gerrit Code Review by Google