1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
|
# cgit
This project is a [cgit](https://git.zx2c4.com/cgit/about/) 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 a `cgitrc` configuration, see [cgitrc manual](https://manpages.debian.org/trixie/cgit/cgitrc.5.en.html).
* `COMMIT_FILTER`: Host directory containing an executable `commit-filter.sh` script to format Git commit messages. See the `commit-filter` section of the [cgitrc manual](https://manpages.debian.org/trixie/cgit/cgitrc.5.en.html).
* `ABOUT`: Host directory containing `about.md` for 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](http://localhost:8080).
## 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](http://localhost:8080).
# 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
```
|