cgit
This project is a cgit docker image.
It aims to be as simple as possible. No authentication, no SSH, just browsing repositories on a web page. The container doesn't write to the repositories so they can be read-only.
Build
docker build --tag cgit .
Run
cgit configuration and runtime
Examples are provided in the examples directory.
CGITRC: Host directory containing acgitrcconfiguration, see cgitrc manual.COMMIT_FILTER: Host directory containing an executablecommit-filter.shscript to format Git commit messages. See thecommit-filtersection of the cgitrc manual.ABOUT: Host directory containingabout.mdfor the front page "about" section.REPOSITORIES: Host directory containing your Git repositories.
Run with docker
docker run \
--rm \
--name cgit \
--publish 8080:80 \
--mount type=bind,src=CGITRC,dst=/etc/cgit,ro \
--mount type=bind,src=COMMIT_FILTER,dst=/usr/local/lib/cgit/filters/commit \
--mount type=bind,src=ABOUT,dst=/srv/cgit,ro \
--mount type=bind,src=REPOSITORIES,dst=/srv/git,ro \
cgit
Browse the website here.
Run with docker compose
Example compose.yaml:
services:
cgit:
build: .
image: cgit
container_name: cgit
ports:
- 8080:80
volumes:
- CGITRC:/etc/cgit:ro
- COMMIT_FILTER:/usr/local/lib/cgit/filters/commit
- ABOUT:/srv/cgit:ro
- REPOSITORIES:/srv/git:ro
Browse the website here.
Configuration
Repository specific cgitrc
Add a cgitrc file at the root of a repository to configure it for cgit. Note that this only works with the scan-path setting.
Example cgitrc:
desc=Repository description
owner=Repository owner
section=Repository section
