Skip to content

Git server

September 29, 2023
March 4, 2016

Git server:

GitPrep GitHub clone in Perl
gitbucket/gitbucket GitHub clone
Gerrit Code Review by Google

Run your own GitHub-like service with the help of Docker · Docker Pirates ARMed with explosive stuff

Sharing port 22

Sharing port 22 with containerized git server

Share port 22 between Gogs inside Docker & the local system
How to config SSH settings - Tips, Tricks, and How-To's - Gogs Discussion

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

git-daemon

read-only unauthenticated (public) access

git-daemon(1)
Git - git-daemon Documentation
Git - Git Daemon

gitosis

tv42/gitosis no update since 2007
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 replace gitosis, written in Perl
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

GitLab

GitLab GitHub clone, bought gitorious

GitLab Documentation
GitLab CI integrated to GitLab

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 GitHub clone in Go
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

Gitea

Gitea is a fork of Gogs at 2016-11 that is more community based.

Gitea compared to other Git hosting options - Docs

Pagure

Pagure — pagure documentation
Overview - pagure - Pagure.io

Home - Pagure.io

CodeFever

CodeFever Community
PGYER/codefever: CodeFever Community Edition (A Self-hosted Git Services)

sr.ht

sr.ht - software hosting for hackers

gitweb

# start server
git instaweb -d webrick --start

# visit http://localhost:1234

# stop server
git instaweb -d webrick --stop