|
Size: 630
Comment:
|
Size: 2126
Comment:
|
| Deletions are marked like this. | Additions are marked like this. |
| Line 2: | Line 2: |
'''CGit''' is a minimal, lightweight web interface for git repositories. It is a CGI script that, if combined with a caching web server, can be run very efficiently at scale. |
|
| Line 9: | Line 11: |
| == Clone URLs == | == Installation == ---- == Setup == === NGINX with FastCGI === A basic NGINX configuration would look as: {{{ server { listen 80; server_name git.my-domain.com; root /path/to/executable/directory try_files $uri @cgit; location @cgit { include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root/cgit.cgi; fastcgi_param PATH_INFO $uri; fastcgi_param QUERY_STRING $args; fastcgi_param HTTP_HOST $server_name; fastcgi_pass unix:/run/fcgiwrap.sock; } } }}} ---- == Configuration == === Clone URLs === |
| Line 27: | Line 67: |
| === Custom CSS === CGit is typically packaged with an official stylesheet used by upstream. The default `cgitrc` file sets the stylesheet using: {{{ css=/cgit.css }}} Note that this is a URL, not a filesystem path. To include an HTML file into the head of the generated web page, use the `head-include` option in `cgitrc`. {{{ head-include=/path/to/my/head.html }}} === Custom Headers and Footers === To include an HTML file into the body of the generated web page, use one of the `header` or `footer` options in `cgitrc`. {{{ header=/path/to/my/header.html footer=/path/to/my/footer.html }}} This is most commonly used to insert a logo, contact and copyright information, or domain navigation. |
CGit
CGit is a minimal, lightweight web interface for git repositories. It is a CGI script that, if combined with a caching web server, can be run very efficiently at scale.
Contents
Installation
Setup
NGINX with FastCGI
A basic NGINX configuration would look as:
server {
listen 80;
server_name git.my-domain.com;
root /path/to/executable/directory
try_files $uri @cgit;
location @cgit {
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root/cgit.cgi;
fastcgi_param PATH_INFO $uri;
fastcgi_param QUERY_STRING $args;
fastcgi_param HTTP_HOST $server_name;
fastcgi_pass unix:/run/fcgiwrap.sock;
}
}
Configuration
Clone URLs
First, enable HTTP cloning in your cgitrc.
enable-http-clone=1
Second, insert a space-delimited list of URLs to each repository configuration. SSH clone instructions can be included, though be aware-a port cannot be specified with a relative path. The maximal options are one of user@ip:port/absolute/path/to/my-repo.git and user@ip:relative/path/to/my-repo.git.
repo.name=my-repo repo.path=my-repo.git repo.clone-url=https://git.my-server.com/my-repo [email protected]/my-repo.git
Custom CSS
CGit is typically packaged with an official stylesheet used by upstream. The default cgitrc file sets the stylesheet using:
css=/cgit.css
Note that this is a URL, not a filesystem path.
To include an HTML file into the head of the generated web page, use the head-include option in cgitrc.
head-include=/path/to/my/head.html
Custom Headers and Footers
To include an HTML file into the body of the generated web page, use one of the header or footer options in cgitrc.
header=/path/to/my/header.html footer=/path/to/my/footer.html
This is most commonly used to insert a logo, contact and copyright information, or domain navigation.
