Corgi

source: git.dreamy.place/corgi

Corgi is a CGI server that tries to be simple to deploy and keep running. You can see corgi in action at the cgit linked above, git.dreamy.place, or at the stats page here git.dreamy.place/stats.

By default, corgi listens on localhost:26744 and cannot do TLS. It is recommended you proxy corgi through nginx, caddy, or another reverse proxy.

The stats page linked above is part of corgi. The server will record some details about every request and put them into an sqlite database. There is a cgi program in the code repository alongside corgi that creates the stats page by reading that same database.

Here is the config I use with corgi:

Server
	Port 26744
	StatsDb /var/corgi/stats.sqlite

Script stats
	Path /opt/corgi/corgi-stats
	Match
		Regex ^/stats
	Environment
		CORGI_STATS_DB /var/corgi/stats.sqlite

Script git-backend
	Path /usr/lib/git-core/git-http-backend
	Match
		Regex /.+/(info/refs|git-upload-pack)
	Environment
		GIT_HTTP_EXPORT_ALL 1
		GIT_PROJECT_ROOT /srv/git
		HOME /srv/git
		HTTP_HOST git.dreamy.place

Script cgit
	Path /opt/cgit/cgit
	Environment
		HTTP_HOST git.dreamy.place