English|中文
参照 Github Pages 实现的 Gitea Pages
当前项目处于维护模式,你也可以看看我的另一个项目 d7z-project/gitea-pages
此处需要用到 xcaddy 工具,使用如下命令生成 Caddy 执行文件,
如果 xcaddy 不存在,需先前往 caddyserver/xcaddy 安装 xcaddy,
同时安装好 Golang 1.24
xcaddy build v2.10.0 --with github.com/d7z-project/caddy-gitea-pages
# 列出当前模块
./caddy list-modules | grep gitea当前项目也提供 linux/amd64 和 linux/arm64 的镜像:
docker pull ghcr.io/d7z-project/caddy-gitea-pages:nightly具体配置说明参考 docker.io/library/caddy 镜像。
安装后 Caddy 后, 在 Caddyfile 写入如下配置:
{
order gitea before file_server
}
:80
gitea {
# Gitea 服务器地址
server https://gitea.com
# Gitea Token
token please-replace-it
# 默认域名,类似于 Github 的 github.io
domain example.com
}
其中,token 需要如下权限:
organization:readrepository:readuser:read
更详细的配置可查看 Caddyfile
仓库 https://gitea.com/owner/repo.git 对应示例配置中的 owner.example.com/repo
如需访问 CNAME 配置的域名,则需要先访问仓库对应的 <owner>.example.com/<repo> 域名, 此操作只需完成一次。
注意: 需要仓库存在 gh-pages 分支和分支内存在 index.html 文件才可访问,如果配置后仍无法访问可重启 Caddy 来清理缓存。
- URL 末尾为
/时将自动追加index.html - 未找到文件时,如果存在
404.html将使用此文件,响应 404 状态码 - 如果仓库带有
routes-history和routes-hash标签时,默认回退使用index.html, 同时返回 200 状态码
- 支持 CNAME 自定义路径 (仅适用于 HTTP 模式,不处理 acme 相关的内容)
- 支持内容缓存
- 优化并发模型和处理竞争问题
- 支持 Http Range 断点续传
- 支持 oauth2 登录访问私有页面
此项目参考了 42wim/caddy-gitea
此项目使用 Apache-2.0