本项目是 alpine-cgit 的分支,后续将独立维护。主仓库托管在 cnb.cool/mmdjiji/cgit,请在该平台提交 Issue 和 Pull Request。GitHub 仅为只读镜像。
English | 简体中文
基于 Alpine 和 Nginx 的超快 Git 仓库 Web 前端。CGit 是一个用 C 编写的 Git 仓库 Web 界面(CGI)。
gitweb.ownerdocker run -itd --name cgit -p 8787:80 -v $PWD/repos:/srv/git/:ro docker.cnb.cool/mmdjiji/cgit:latest
Dockerfile
FROM docker.cnb.cool/mmdjiji/cgit:latest
| 路径 | 说明 |
|---|---|
/etc/cgitrc | CGit 配置文件 |
/srv/git | Git 仓库扫描目录 |
/var/cache/cgit | CGit HTML 缓存目录 |
以上路径均可通过 Bind Mounts 或 Docker Volumes 覆盖。
| 变量 | 说明 | 默认值 |
|---|---|---|
CGIT_TITLE | 网站标题 | CGit |
CGIT_DESC | 网站描述 | The hyperfast web frontend for Git repositories |
CGIT_VROOT | 虚拟根目录 | / |
CGIT_SECTION_FROM_STARTPATH | 从仓库路径中提取多少级目录作为分区名 | 0 |
CGIT_MAX_REPO_COUNT | 仓库索引页每页显示的条目数 | 50 |
CGIT_THEME | 默认视觉主题 | default |
用户也可通过页面头部的下拉菜单在运行时切换主题,选择将保存在浏览器中。
| 值 | 说明 |
|---|---|
default | 经典 CGit 外观 |
cgithub-auto | GitHub 风格主题,跟随系统明暗模式 |
cgithub-light | GitHub 风格主题,始终浅色 |
cgithub-dark | GitHub 风格主题,始终深色 |
同时设置 BASIC_AUTH_USER 和 BASIC_AUTH_PASS 即可启用 HTTP Basic 认证,未设置则不启用。认证覆盖网页浏览和 Git 克隆。
| 变量 | 说明 |
|---|---|
BASIC_AUTH_USER | 认证用户名 |
BASIC_AUTH_PASS | 认证密码 |
启用后,Git 克隆时需要携带凭据:
git clone https://admin:12345678@your-host/repo-name
通过挂载文件即可替换默认的 Logo 和 Favicon:
volumes:
- ./logo.png:/usr/share/webapps/cgit/cgit.png:ro
- ./logo.ico:/usr/share/webapps/cgit/favicon.ico:ro
| 挂载目标 | 说明 |
|---|---|
/usr/share/webapps/cgit/cgit.png | 页面头部显示的网站 Logo |
/usr/share/webapps/cgit/favicon.ico | 浏览器标签页图标 |
提示: 建议使用正方形图片。Favicon 通常以 16x16 或 32x32 像素显示,为获得最佳浏览器兼容性,建议将图片转换为
.ico格式。
默认情况下,镜像使用 cgit.conf 模板文件,启动时替换上述环境变量。
如需使用自定义 /etc/cgitrc:
USE_CUSTOM_CONFIG=true--volume my-config:/etc/cgitrccache-root=/var/cache/cgitscan-path=/srv/git--volume my-repos:/srv/git详细配置项请参阅 cgitrc man page。
本项目托管在 cnb.cool/mmdjiji/cgit,GitHub 仅为只读镜像。请在 CNB 上提交 Pull Request 或创建 Issue。
除非您明确声明另有规定,否则您有意提交以纳入当前作品的任何贡献(如 Apache-2.0 许可证中所定义)将按如下所述进行双重许可,且不附加任何条款或条件。
本项目主要使用 MIT 和 Apache 2.0 双重许可证分发。