Skip to content

git-http-backend with repository initialization

License

Notifications You must be signed in to change notification settings

JoergZeidler/gitserver-http

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

39 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

gitserver-http Build Status

A git server with Nginx as the HTTP frontend and fast cgi wrapper for running the git http backend

Usage

To run a git server without any repositories configured in advance but allowing them to be saved into ./repositories:

docker run \
  -d  \                                 # deamonize
  -v `pwd`/repositories:/var/lib/git \  # mount the volume
  -p "8080:80" \                        # expose the port 
  cirocosta/gitserver-http

Now, initialize a bare repository:

cd repositories
git init --bare repos/myrepo.git

and then, just clone it somewhere else:

cd /tmp
git clone http://localhost:8080/myrepo.git
cd myrepo 

Pre-Initialization

Git servers work with bare repositories. This image provides the utility of initializing some pre-configured repositories in advance. Just add them to /var/lib/initial and then run the container. For instance, having the tree:

.
└── initial
    └── initial
        └── repo1
            └── file.txt

and then executing

docker run \
  -d  \                                 # deamonize
  -v `pwd`/initial:/var/lib/initial \   # mount the initial volume
  -p "8080:80" \                        # expose the port 
  cirocosta/gitserver-http              # start git server and init repositories

will allow you to skip the git init --bare step and start with the repositories pre-"installed" there:

git clone http://localhost/repo1.git
cd repo1 && ls
# file.txt

Example

to run the example:

make example

This will create a git server http service on :80. Now you can clone the sample repository:

git clone http://localhost:8080/repo1.git

About

git-http-backend with repository initialization

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Shell 88.9%
  • Makefile 11.1%