Cgit
cgit is a fast web-interface (CGI) for git written in the C programming language. It makes it possible for potential contributors to track and view project source code from the web instead of through a git client.
Installation
Install the package that contains cgit and git.
apk add cgit git
Open up /etc/cgitrc with your favorite editor, in this case is vim.
vim /etc/cgitrc
If you want to show an specific repository your configuration should look something like this:
Contents of /etc/cgitrc
If you want to scan and show all the repositories you have, your configuration should look something like this:
Contents of /etc/cgitrc
Run cgit using spawn-fcgi and fcgiwrap
Install spawn-fcgi and fcgiwrap
apk add fcgiwrap spawn-fcgi
Create a new service by doing a symbolic link.
ln -s spawn-fcgi /etc/init.d/spawn-fcgi.cgit
Create a configuration file called spawn-fcgi.cgit in /etc/conf.d/ ; the service will run fcgiwrap automatically everytime is called. It should look exactly like this:
Contents of /etc/conf.d/spawn-fcgi.cgit
Start the newly created service.
rc-service spawn-fcgi.cgit start
Run cgit with a web service
Configure Lighttpd to work with cgit
Install the package that contains lighttpd if you haven't already.
apk add lighttpd
Create a cgit.conf file into the lighttpd directory with the following content:
Contents of /etc/lighttpd/cgit.conf
Finally, add the following line to the lighttpd.conf file:
Contents of /etc/lighttpd/lighttpd.conf
Restart the lighttpd service.
rc-service lighttpd restart
Configure NGINX to work with cgit pointing to a subdomain
Install the package that contains NGINX if you haven't already.
apk add nginx
Create a custom configuration in the NGINX's conf.d directory.
vim /etc/nginx/conf.d/git.your_domain.com.conf
The file should look something like this:
Contents of /etc/nginx/conf.d/git.your_domain.com.conf
Restart the NGINX service.
rc-service nginx restart