From 5afe4f365d2bc15dc3cdc91b510b31a4f331e374 Mon Sep 17 00:00:00 2001 From: CaiCandong <1290147055@qq.com> Date: Wed, 9 Aug 2023 16:05:29 +0800 Subject: [PATCH 01/14] index.md --- docs/content/index.zh-cn.md | 281 +++++++++++++++++++++++++++++++++--- 1 file changed, 258 insertions(+), 23 deletions(-) diff --git a/docs/content/index.zh-cn.md b/docs/content/index.zh-cn.md index a9d7b8f7f0a17..91d080626b5c6 100644 --- a/docs/content/index.zh-cn.md +++ b/docs/content/index.zh-cn.md @@ -9,42 +9,277 @@ draft: false # 关于Gitea -Gitea 是一个自己托管的Git服务程序。他和GitHub, Bitbucket or Gitlab等比较类似。他是从 [Gogs](http://gogs.io) 发展而来,不过我们已经Fork并且命名为Gitea。对于我们Fork的原因可以看 [这里](https://blog.gitea.com/welcome-to-gitea/)。 +Gitea 是一个无痛的自助式一体化软件托管平台服务,包括 Git 托管、代码审查、团队协作、软件包注册和 CI/CD。它与 GitHub、Bitbucket 和 GitLab 等比较类似。 +Gitea 最初是从 [Gogs](http://gogs.io) 分支而来,几乎所有代码都已更改。对于我们Fork的原因可以看 +[这里](https://blog.gitea.com/welcome-to-gitea/)。 ## 目标 -Gitea的首要目标是创建一个极易安装,运行非常快速,安装和使用体验良好的自建 Git 服务。我们采用Go作为后端语言,这使我们只要生成一个可执行程序即可。并且他还支持跨平台,支持 Linux, macOS 和 Windows 以及各种架构,除了x86,amd64,还包括 ARM 和 PowerPC。 +Gitea的首要目标是创建一个极易安装,运行非常快速,安装和使用体验良好 +的自建 Git 服务。 + +采用Go作为后端语言,只需生成一个可执行程序即可。 +支持 Linux, macOS 和 Windows等多平台, + 支持主流的x86,amd64、 + ARM 和 PowerPC等架构。 ## 功能特性 -- 支持活动时间线 -- 支持 SSH 以及 HTTP/HTTPS 协议 -- 支持 SMTP、LDAP 和反向代理的用户认证 -- 支持反向代理子路径 -- 支持用户、组织和仓库管理系统 -- 支持添加和删除仓库协作者 -- 支持仓库和组织级别 Web 钩子(包括 Slack 集成) -- 支持仓库 Git 钩子和部署密钥 -- 支持仓库工单(Issue)、合并请求(Pull Request)以及 Wiki -- 支持迁移和镜像仓库以及它的 Wiki -- 支持在线编辑仓库文件和 Wiki -- 支持自定义源的 Gravatar 和 Federated Avatar -- 支持邮件服务 -- 支持后台管理面板 -- 支持 MySQL、PostgreSQL、SQLite3、MSSQL 和 TiDB(MySQL) 数据库 -- 支持多语言本地化(21 种语言) -- 支持软件包注册中心(Composer/Conan/Container/Generic/Helm/Maven/NPM/Nuget/PyPI/RubyGems) +- 用户仪表板 + - 切换控制面板用户(组织/当前用户) + - 活动时间线 + - 提交 + - 工单 + - 合并请求 + - 仓库创建 + - 可搜索的仓库列表 + - 组织列表 + - 镜像仓库列表 +- 工单管理仪表盘 + - 身份切换(组织和当前用户) + - 筛选 + - 开启中 + - 已关闭 + - 用户仓库中 + - 指派 + - 被提及 + - 根据关联的仓库筛选 + - 排序规则 + - 最近更新 + - 最早更新 + - 最多评论 +- 合并请求仪表盘 + - 与工单仪表盘类似 +- 存储库类型 + - 镜像仓库 + - 普通仓库 + - 迁移仓库 +- 提醒(邮件和网页) + - 已读 + - 未读 + - 固定(Pin) +- 探索页 + - 用户 + - 仓库 + - 组织 + - 搜索 +- 自定义模板 +- 覆盖公共文件(图标、CSS样式等) +- CSRF 和 XSS 保护 +- 支持 HTTPS +- 设置允许的上传大小和类型 +- 日志 +- 配置 + - 数据库 + - MySQL (>=5.7) + - PostgreSQL (>=10) + - SQLite3 + - MSSQL (>=2008R2 SP3) + - TiDB (MySQL protocol) + - 配置文件 + - [app.ini](https://github.com/go-gitea/gitea/blob/main/custom/conf/app.example.ini) + - 管理员面板 + - 数据统计 + - 动作 + - 删除所有未激活的帐户 + - 删除所有代码库的存档 + - 删除所有丢失 Git 文件的仓库 + - 对仓库进行垃圾回收 + - 使用 Gitea 的 SSH 密钥更新 + - 重新同步所有仓库的 pre-receive、update 和 post-receive 钩子 + - 重新初始化所有丢失的 Git 仓库存在的记录 + - 系统状态监控 + - 服务状态:运行时间、协程数量等 + - 内存状态:内存使用情况、内存占用量、分配、释放情况等 + - 协程数量 + - 等等 + - 用户管理 + - 搜索 + - 排序 + - 上次登录 + - 认证源 + - 最大存储库数量 + - 禁用账户 + - 管理员权限 + - 创建 Git hooks的权限 + - 创建组织的权限 + - 导入仓库的权限 + - 组织管理 + - 成员 + - 团队 + - 头像 + - 钩子 + - 仓库管理 + - 查看所有仓库信息并管理仓库 + - 认证源 + - OAuth + - PAM + - LDAP + - SMTP + - 配置查看器 + - 配置文件中的全部内容 + - 系统通知 + - 当意外发生时 + - 监测 + - 当前处理器 + - 定时任务 + - 更新镜像 + - 仓库健康检查 + - 检查仓库统计数据 + - 清理旧存档 + - 环境变量 + - 命令行选项 +- 多语言支持 ([21种语言](https://github.com/go-gitea/gitea/tree/main/options/locale)) +- [Mermaid](https://mermaidjs.github.io/) Markdown 图表 +- Markdown 中的数学语法 +- 邮件服务 + - 通知 + - 注册确认 + - 密码重置 +- 支持反向代理 + - 包括子路径 +- 用户 + - 简介 + - 名称 + - 用户名 + - 邮件 + - 网站 + - 注册时间 + - 粉丝和关注 + - 组织 + - 仓库 + - 活动 + - 点赞仓库 + - 设置 + - 与用户简介相同,更多信息见下文 + - 保持电子邮件的私密性 + - 头像 + - Gravatar + - Libravatar + - 自定义 + - 密码 + - 多个电子邮件地址 + - SSH Keys + - 连接应用程序 + - 双因素认证 + - 已链接的 OAuth2 源 + - 删除帐户 +- 仓库 + - 使用 SSH/HTTP/HTTPS协议克隆 + - Git LFS + - 关注、点赞、派生 + - 查看关注、点赞、派生 + - 代码 + - 分支查看 + - 基于 Web 的文件上传和创建 + - 克隆网址 + - 下载 + - ZIP + - TAR.GZ + - 基于 Web 的编辑器 + - Markdown 编辑器 + - 纯文本编辑器 + - 语法高亮 + - Diff预览 + - 预览 + - 选择commit分支 + - 查看文件历史 + - 删除文件 + - 查看原始数据 + - 工单 + - 工单模板 + - 里程碑 + - 标签 + - 分配g工单 + - 跟踪时间 + - 响应 + - 过滤器 + - 开启中 + - 已经关闭 + - 指派 + - 创建者 + - 被提及 + - 排序 + - 最早创建 + - 最近更新 + - 评论数量 + - 查找 + - 评论 + - 附件 + - 合并请求 + - 和工单相同的功能 + - 提交 + - 提交图 + - 按分支查看 + - 查找 + - 在所有分支中搜索 + - 查看差异 + - 查看SHA + - 查看作者 + - 浏览提交中的文件 + - 版本发布 + - 附件 + - 标题 + - 内容 + - 删除 + - 标记为预发布 + - 选择分支 + - 百科 + - 导入 + - Markdown编辑器 + - 设置 + - 选项 + - 名称 + - 描述 + - 私有/公开 + - 网站 + - 百科 + - 启用/禁用 + - 内部/外部 + - 工单 + - 启用/禁用 + - 内部/外部 + - 支持外部的url来帮助集成 + - 启用/禁用合并请求 + - 迁移仓库 + - 删除百科 + - 删除仓库 + - 协作 + - Read/write/admin + - 分支 + - 默认分支 + - 分支保护 + - Webhooks + - Git Hooks + - 部署keys +- 软件包注册 + - Composer + - Conan + - Container + - Generic + - Helm + - Maven + - NPM + - Nuget + - PyPI + - RubyGems ## 系统要求 -- 最低的系统硬件要求为一个廉价的树莓派 -- 如果用于团队项目,建议使用 2 核 CPU 及 1GB 内存 +- 树莓派Pi3功能强大,足以运行 Gitea 来处理小型工作负载。 +- 对于小型团队/项目而言,2 个 CPU 内核和 1GB 内存通常就足够了。 +- 在 UNIX 系统上,Gitea 应使用专用的非 root 系统账户运行。 + - 注意:Gitea 管理 `~/.ssh/authorized_keys` 文件。以普通用户身份运行 Gitea 可能会破坏该用户的登录能力。 +- [Git](https://git-scm.com/) 需要 2.0.0 或更高版本。 + - [Git Large File Storage](https://git-lfs.github.com/) 如果启用,且 Git 版本大于等于 2.1.2,则该选项可用 + - 如果 Git 版本大于等于 2.18,将自动启用 Git 提交历史图形化展示功能 ## 浏览器支持 -- Chrome, Firefox, Safari, Edge +- Last 2 versions of Chrome, Firefox, Safari and Edge +- Firefox ESR -## 组件 +## 技术栈 - Web框架: [Chi](http://github.com/go-chi/chi) - ORM: [XORM](https://xorm.io) From 10bf90aef1aee98903ff3d2eaa009b462b53810b Mon Sep 17 00:00:00 2001 From: CaiCandong <1290147055@qq.com> Date: Thu, 10 Aug 2023 10:01:55 +0800 Subject: [PATCH 02/14] update permissions --- docs/content/usage/permissions.zh-cn.md | 39 ++++++++++++++++++------- 1 file changed, 29 insertions(+), 10 deletions(-) diff --git a/docs/content/usage/permissions.zh-cn.md b/docs/content/usage/permissions.zh-cn.md index 5e1688f7ac693..0c748aef96147 100644 --- a/docs/content/usage/permissions.zh-cn.md +++ b/docs/content/usage/permissions.zh-cn.md @@ -29,10 +29,12 @@ Gitea 支持对仓库进行权限管理,这样您就可以为不同的人员 | 工单 | 组织缺陷报告、任务和里程碑。 | 读取 写入 | | 合并请求 | 启用合并请求和代码审核。 | 读取 写入 | | 发布 | 跟踪项目版本和下载。 | 读取 写入 | -| 维基 | 与协作者编写和共享文档。 | 读取 写入 | -| 外部维基 | 链接到外部维基。 | 读取 | +| 百科 | 与协作者编写和共享文档。 | 读取 写入 | +| 外部百科 | 链接到外部维基。 | 读取 | | 外部工单跟踪器 | 链接到外部工单跟踪器。 | 读取 | | 项目 | 模板仓库的 URL。 | 读取 写入 | +| 包 | 链接到仓库 | 读取 写入 | +| Actions | 审查Actions日志或重启/取消工作流 | 读取 写入 | | 设置 | 管理仓库。 | 管理员 | 通过不同的权限,用户可以在这些单元上执行不同的操作。 @@ -43,25 +45,42 @@ Gitea 支持对仓库进行权限管理,这样您就可以为不同的人员 | 工单 | 查看工单并创建新工单。 | 添加标签、分配、关闭工单。 | - | | 合并请求 | 查看合并请求并创建新合并请求。 | 添加标签、分配、关闭合并请求。 | - | | 发布 | 查看发布和下载文件。 | 创建/编辑发布。 | - | -| 维基 | 查看维基页面。克隆维基仓库。 | 创建/编辑维基页面,推送更改。 | - | -| 外部维基 | 链接到外部维基。 | - | - | +| 百科 | 查看百科页面。克隆百科仓库。 | 创建/编辑百科页面,推送更改。 | - | +| 外部百科 | 链接到外部百科。 | - | - | | 外部工单跟踪器 | 链接到外部工单跟踪器。 | - | - | | 项目 | 查看面板。 | 在面板之间移动工单。 | - | +| 包 | 查看包 | 上传/删除包 | - | +| Actions | 查看 Actions日志 | 同意 / 取消 / 重启 | - | | 设置 | - | - | 管理仓库 | 个人仓库和组织仓库之间的权限存在一些差异。 ## 个人仓库 -对于个人仓库,创建者是仓库的唯一所有者,对于该仓库的任何更改或删除没有限制。仓库所有者可以添加协作者来帮助维护仓库。协作者可以拥有 `读取(Read)`、`写入(Write)` 和 `管理员(Admin)` 权限。 +对于个人仓库,创建者是仓库的唯一所有者,对于该仓库的任何更改或删除没有限制。 +仓库所有者可以添加协作者来帮助维护仓库。协作者可以拥有 `读取(Read)`、`写入(Write)` 和 `管理员(Admin)` 权限。 + +访问私有仓库的体验与访问匿名公共仓库类似。您可以访问仓库中的所有可用内容,包括克隆代码、创建工单、回复工单评论、提交拉取请求等。如果你有 "写"权限,只要分支保护规则允许,你就可以向仓库的特定分支推送代码。此外,你还可以修改百科页面。有了 "管理"权限,你就可以修改仓库的设置。 + +但如果你不是该仓库的所有者,就不能删除或转移该仓库。 ## 组织仓库 -与个人仓库不同,组织仓库的所有者是组织的所有者团队。 +对于个人仓库,所有者是创建它的用户。而对于组织仓库,所有者是该组织中的所有者团队成员。对该组织仓库的所有权限都取决于团队权限设置。 + +### 所有者团队 + +创建组织时将自动创建所有者团队,创建者将成为所有者团队的第一名成员。所有者团队不可删除,且至少有一名成员。 + +### 管理员团队 + +创建团队时,有两种类型的团队。一种是管理员团队,另一种是普通团队。可以创建一个管理员团队来管理某些版本库,其成员可以对这些版本库做任何事情。只有所有者或管理员团队的成员才能创建新团队。 + +### 普通团队 -### 团队 +组织中的普通团队具有可以根据`单元(Unit)`进行权限设置。它可以有成员和存储库范围。 -组织中的一个团队具有单元权限设置。它可以拥有成员和仓库的范围。团队可以访问组织中的所有仓库或者由所有者团队授权访问的特定仓库。团队也可以被允许创建新的仓库。 +- 一个团队可以访问所属组织的所有仓库或特殊仓库。 +- 也可以设置该团队是否有创建新仓库的权限。 -所有者团队(Owners)将在创建组织时自动创建,并且创建者将成为所有者团队的第一个成员。 -组织的每个成员必须至少属于一个团队。所有者团队不能被删除,只有所有者团队的成员可以创建新的团队。可以创建一个管理员团队来管理某些仓库,该团队的成员可以对这些仓库进行任何操作。可以由所有者团队创建一个生成团队来执行其权限允许的操作。 +可以通过创建 "普通团队",并通过权限控制对其行为进行限制。一名成员可以加入多个团队。 From faf6d1d9f879f369dbf8a422e4a3f32896a529e9 Mon Sep 17 00:00:00 2001 From: CaiCandong <1290147055@qq.com> Date: Thu, 10 Aug 2023 10:20:05 +0800 Subject: [PATCH 03/14] update pull-request --- docs/content/usage/pull-request.zh-cn.md | 40 ++++++++++++++++++++++-- 1 file changed, 38 insertions(+), 2 deletions(-) diff --git a/docs/content/usage/pull-request.zh-cn.md b/docs/content/usage/pull-request.zh-cn.md index db5646f378c54..0a8cf55dfff4b 100644 --- a/docs/content/usage/pull-request.zh-cn.md +++ b/docs/content/usage/pull-request.zh-cn.md @@ -17,9 +17,45 @@ menu: # 合并请求 -## 在`合并请求`中使用“Work In Progress”标记 +合并请求(PR)是一种提出对仓库进行更改的方式。 +它是一种将一个分支合并到另一个分支的请求,附带有对所做更改的描述。 +合并请求通常用作贡献者对仓库贡献代码的方式,仓库的维护者可以通过对合并请求进行审查来决定是否接受这些更改。 -您可以通过在一个进行中的 pull request 的标题上添加前缀 `WIP:` 或者 `[WIP]`(此处大小写敏感)来防止它被意外合并,具体的前缀设置可以在配置文件 `app.ini` 中找到: +## 创建合并请求 + +要创建合并请求,您需要遵循以下步骤: + +1. **Fork 仓库** - 如果您没有直接对仓库进行更改的权限,您需要将仓库 fork 到您自己的账户中。 +这将创建一个您可以对其进行更改的仓库副本。 + +2. **创建分支(可选)** - 在 fork 的仓库中创建一个新分支,该分支包含您要提出的更改。 +给分支取一个描述性的名称,以指示更改的内容。 + +3. **进行更改** - 进行您想要的更改,提交并将其推送到 fork 的仓库中。 + +4. **创建合并请求** - 转到原始仓库并转到“合并请求”选项卡。单击“新建合并请求”按钮,并将您的新分支选择为源分支。 +为您的合并请求输入描述性标题和描述,然后单击“创建合并请求”。 + +## 评审合并请求 + +创建合并请求后,将触发评审流程。仓库的维护者将收到合并请求的通知,并可以审查所做的更改。 +他们可以留下评论、请求更改或批准更改。 + +如果维护者请求更改,您需要在分支中进行这些更改,并将更改推送到 fork 的仓库中。 +合并请求将自动使用新更改进行更新。 + +如果维护者批准更改,他们可以将合并请求合并到仓库中。 + +## 关闭合并请求 + +如果您不接受该合并请求,您可以关闭它。 +要关闭合并请求,请转到打开的合并请求并单击“关闭合并请求”按钮。这将关闭合并请求并且不会将其合并。 + +## 使用“Work In Progress”标记 + +在合并请求中使用“Work In Progress”标记可以防止合并请求被意外合并。 +要将合并请求标记为“Work In Progress”,您必须在其标题中添加前缀`WIP:`或`[WIP]`(不区分大小写)。 +标记前缀可以在您的`app.ini`文件中进行配置: ``` [repository.pull-request] From 055db629b4b1f49471744ca72f6c0cafdcf1c530 Mon Sep 17 00:00:00 2001 From: CaiCandong <1290147055@qq.com> Date: Thu, 10 Aug 2023 10:26:41 +0800 Subject: [PATCH 04/14] update repo-mirror --- docs/content/usage/repo-mirror.zh-cn.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/docs/content/usage/repo-mirror.zh-cn.md b/docs/content/usage/repo-mirror.zh-cn.md index 3723b81ee4d76..b74a1b62ad517 100644 --- a/docs/content/usage/repo-mirror.zh-cn.md +++ b/docs/content/usage/repo-mirror.zh-cn.md @@ -88,3 +88,16 @@ menu: 4. 选择**添加推送镜像**以保存配置。 仓库会很快进行推送。要强制推送,请选择**立即同步**按钮。 + +### 镜像现有的 ssh 仓库 + +当前,Gitea 不支持从 ssh 仓库进行镜像。如果您想要镜像一个 ssh 仓库,您需要将其转换为 http 仓库。您可以使用以下命令将现有的 ssh 仓库转换为 http 仓库: + +1. 确保运行 gitea 的用户有权限访问您试图从 shell 镜像到的 git 仓库。 +2. 在 Web 界面的版本库设置 > git 钩子中为镜像添加一个接收后钩子。 + +``` +#!/usr/bin/env bash +git push --mirror --quiet git@github.com:username/repository.git &>/dev/null & +echo "GitHub mirror initiated .." +``` From 4df66957698241acb4a5418dda3c50f148e68f9d Mon Sep 17 00:00:00 2001 From: CaiCandong <1290147055@qq.com> Date: Thu, 10 Aug 2023 10:31:36 +0800 Subject: [PATCH 05/14] update push --- docs/content/usage/template-repositories.zh-cn.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/content/usage/template-repositories.zh-cn.md b/docs/content/usage/template-repositories.zh-cn.md index 68881e023b2cb..885b2f4ec813b 100644 --- a/docs/content/usage/template-repositories.zh-cn.md +++ b/docs/content/usage/template-repositories.zh-cn.md @@ -47,6 +47,8 @@ a/b/c/d.json 在与上述通配符匹配的任何文件中,将会扩展某些变量。 +文件名和路径的匹配也可以被扩展,并且会经过谨慎的清理处理,以支持跨平台的文件系统。 + 所有变量都必须采用`$VAR`或`${VAR}`的形式。要转义扩展,使用双重`$$`,例如`$$VAR`或`$${VAR}`。 | 变量 | 扩展为 | 可转换 | From 89eb2a3027d9344c6bdf99c222bc80ef1f6021bf Mon Sep 17 00:00:00 2001 From: CaiCandong <1290147055@qq.com> Date: Thu, 10 Aug 2023 11:24:59 +0800 Subject: [PATCH 06/14] update comparsion --- docs/content/installation/comparison.zh-cn.md | 92 +++++++++++-------- 1 file changed, 52 insertions(+), 40 deletions(-) diff --git a/docs/content/installation/comparison.zh-cn.md b/docs/content/installation/comparison.zh-cn.md index acf3f4ebe033c..a33b0a30a11f2 100644 --- a/docs/content/installation/comparison.zh-cn.md +++ b/docs/content/installation/comparison.zh-cn.md @@ -29,53 +29,62 @@ _表格中的符号含义:_ * _✘ - 不支持_ -* _? - 不确定_ - * _⚙️ - 由第三方服务或插件支持_ #### 主要特性 -| 特性 | Gitea | Gogs | GitHub EE | GitLab CE | GitLab EE | BitBucket | RhodeCode CE | -| --------------------- | -------------------------------------------------- | ---- | --------- | --------- | --------- | -------------- | ------------ | -| 开源免费 | ✓ | ✓ | ✘ | ✓ | ✘ | ✘ | ✓ | -| 低资源开销 (RAM/CPU) | ✓ | ✓ | ✘ | ✘ | ✘ | ✘ | ✘ | -| 支持多种数据库 | ✓ | ✓ | ✘ | ⁄ | ⁄ | ✓ | ✓ | -| 支持多种操作系统 | ✓ | ✓ | ✘ | ✘ | ✘ | ✘ | ✓ | -| 升级简便 | ✓ | ✓ | ✘ | ✓ | ✓ | ✘ | ✓ | -| 支持 Markdown | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | -| 支持 Orgmode | ✓ | ✘ | ✓ | ✘ | ✘ | ✘ | ? | -| 支持 CSV | ✓ | ✘ | ✓ | ✘ | ✘ | ✓ | ? | -| 支持第三方渲染工具 | ✓ | ✘ | ✘ | ✘ | ✘ | ✓ | ? | -| Git 驱动的静态 pages | [⚙️][gitea-pages-server], [⚙️][gitea-caddy-plugin] | ✘ | ✓ | ✓ | ✓ | ✘ | ✘ | -| Git 驱动的集成化 wiki | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ (cloud only) | ✘ | -| 部署令牌 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | -| 仓库写权限令牌 | ✓ | ✘ | ✓ | ✓ | ✓ | ✓ | ✓ | -| 内置容器 Registry | ✓ | ✘ | ✓ | ✓ | ✓ | ✘ | ✘ | -| 外部 Git 镜像 | ✓ | ✓ | ✘ | ✘ | ✓ | ✓ | ✓ | -| WebAuthn (2FA) | ✓ | ✘ | ✓ | ✓ | ✓ | ✓ | ? | -| 内置 CI/CD | ✓ | ✘ | ✓ | ✓ | ✓ | ✘ | ✘ | -| 子组织:组织内的组织 | [✘](https://github.com/go-gitea/gitea/issues/1872) | ✘ | ✘ | ✓ | ✓ | ✘ | ✓ | +| 特性 | Gitea | Gogs | GitHub EE | GitLab CE | GitLab EE | BitBucket | RhodeCode CE | +| ------------------------------- | -------------------------------------------------- | ---- | --------- | --------- | --------- | -------------- | ------------ | +| 开源免费 | ✓ | ✓ | ✘ | ✓ | ✘ | ✘ | ✓ | +| 低资源开销 (RAM/CPU) | ✓ | ✓ | ✘ | ✘ | ✘ | ✘ | ✘ | +| 支持多种数据库 | ✓ | ✓ | ✘ | ⁄ | ⁄ | ✓ | ✓ | +| 支持多种操作系统 | ✓ | ✓ | ✘ | ✘ | ✘ | ✘ | ✓ | +| 升级简便 | ✓ | ✓ | ✘ | ✓ | ✓ | ✘ | ✓ | +| 可观测性 | **✘** | ✘ | ✓ | ✓ | ✓ | ✓ | ? | +| 支持第三方渲染工具 | ✓ | ✘ | ✘ | ✘ | ✘ | ✓ | ? | +| WebAuthn (2FA) | ✓ | ✘ | ✓ | ✓ | ✓ | ✓ | ? | +| 扩展 API | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | +| 内置软件包/容器注册中心 | ✓ | ✘ | ✓ | ✓ | ✓ | ✘ | ✘ | +| 同步提交到外部仓库 (push mirror) | ✓ | ✓ | ✘ | ✓ | ✓ | ✘ | ✓ | +| 同步外部仓库的提交 (pull mirror) | ✓ | ✘ | ✘ | ✓ | ✓ | ✘ | ? | +| 浅色和深色主题 | ✓ | ✘ | ✓ | ✓ | ✓ | ✘ | ? | +| 自定义主题支持 | ✓ | ✓ | ✘ | ✘ | ✘ | ✓ | ✘ | +| 支持 Markdown | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | +| 支持 CSV | ✓ | ✘ | ✓ | ✘ | ✘ | ✓ | ? | +| Git 驱动的静态 pages | [⚙️][gitea-pages-server], [⚙️][gitea-caddy-plugin] | ✘ | ✓ | ✓ | ✓ | ✘ | ✘ | +| Git 驱动的集成化 wiki | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ (cloud only) | ✘ | +| 部署令牌 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | +| 仓库写权限令牌 | ✓ | ✘ | ✓ | ✓ | ✓ | ✓ | ✓ | +| RSS Feeds | ✓ | ✘ | ✓ | ✘ | ✘ | ✘ | ✘ | +| 内置 CI/CD | ✓ | ✘ | ✓ | ✓ | ✓ | ✘ | ✘ | +| 子组织:组织内的组织 | [✘](https://github.com/go-gitea/gitea/issues/1872) | ✘ | ✘ | ✓ | ✓ | ✘ | ✓ | +| 多实例交互 | [/](https://github.com/go-gitea/gitea/issues/18240) | ✘ | ✘ | ✘ | ✘ | ✘ | ✘ | +| Markdown绘图 | ✓ | ✘ | ✓ | ✓ | ✓ | ✘ | ✘ | +| Markdown数学公式 | ✓ | ✘ | ✓ | ✓ | ✓ | ✘ | ✘ | #### 代码管理 -| 特性 | Gitea | Gogs | GitHub EE | GitLab CE | GitLab EE | BitBucket | RhodeCode CE | -| ---------------------------------------- | ------------------------------------------------ | ---- | --------- | --------- | --------- | --------- | ------------ | -| 仓库主题描述 | ✓ | ✘ | ✓ | ✓ | ✓ | ✘ | ✘ | -| 仓库内代码搜索 | ✓ | ✘ | ✓ | ✓ | ✓ | ✓ | ✓ | -| 全局代码搜索 | ✓ | ✘ | ✓ | ✘ | ✓ | ✓ | ✓ | -| Git LFS 2.0 | ✓ | ✘ | ✓ | ✓ | ✓ | ✓ | ✓ | -| 组织里程碑 | ✘ | ✘ | ✘ | ✓ | ✓ | ✘ | ✘ | -| 细粒度用户角色 (例如 Code, Issues, Wiki) | ✓ | ✘ | ✘ | ✓ | ✓ | ✘ | ✘ | -| 提交人的身份验证 | ⁄ | ✘ | ? | ✓ | ✓ | ✓ | ✘ | -| GPG 签名的提交 | ✓ | ✘ | ✓ | ✓ | ✓ | ✓ | ✓ | -| SSH 签名的提交 | ✓ | ✘ | ✘ | ✘ | ✘ | ? | ? | -| 拒绝未用通过验证的提交 | [✓](https://github.com/go-gitea/gitea/pull/9708) | ✘ | ✓ | ✓ | ✓ | ✓ | ✓ | -| 仓库活跃度页面 | ✓ | ✘ | ✓ | ✓ | ✓ | ✓ | ✓ | -| 分支管理 | ✓ | ✘ | ✓ | ✓ | ✓ | ✓ | ✓ | -| 建立新分支 | ✓ | ✘ | ✓ | ✓ | ✓ | ✘ | ✘ | -| 在线代码编辑 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | -| 提交的统计图表 | ✓ | ✘ | ✓ | ✓ | ✓ | ✓ | ✓ | -| 模板仓库 | [✓](https://github.com/go-gitea/gitea/pull/8768) | ✘ | ✓ | ✘ | ✓ | ✓ | ✘ | +| 特性 | Gitea | Gogs | GitHub EE | GitLab CE | GitLab EE | BitBucket | RhodeCode CE | +| ------------------------------------ | --------------------------------------------------- | ---- | --------- | --------- | --------- | --------- | ------------ | +| 仓库主题描述 | ✓ | ✘ | ✓ | ✓ | ✓ | ✘ | ✘ | +| 仓库内代码搜索 | ✓ | ✘ | ✓ | ✓ | ✓ | ✓ | ✓ | +| 全局代码搜索 | ✓ | ✘ | ✓ | ✘ | ✓ | ✓ | ✓ | +| Git LFS 2.0 | ✓ | ✘ | ✓ | ✓ | ✓ | ✓ | ✓ | +| 组织里程碑 | [✘](https://github.com/go-gitea/gitea/issues/14622) | ✘ | ✘ | ✓ | ✓ | ✘ | ✘ | +| 细粒度用户角色 | ✓ | ✘ | ✘ | ✓ | ✓ | ✘ | ✘ | +| 提交人的身份验证 | ⁄ | ✘ | ? | ✓ | ✓ | ✓ | ✘ | +| GPG 签名的提交 | ✓ | ✘ | ✓ | ✓ | ✓ | ✓ | ✓ | +| SSH 签名的提交 | ✓ | ✘ | ✓ | ✓ | ✓ | ? | ? | +| 拒绝未通过验证的提交 | ✓ | ✘ | ✓ | ✓ | ✓ | ✓ | ✓ | +| 外部仓库迁移 | ✓ | ✘ | ✓ | ✓ | ✓ | ✓ | ✓ | +| 仓库活跃度页面 | ✓ | ✘ | ✓ | ✓ | ✓ | ✓ | ✓ | +| 分支管理 | ✓ | ✘ | ✓ | ✓ | ✓ | ✓ | ✓ | +| 建立新分支 | ✓ | ✘ | ✓ | ✓ | ✓ | ✘ | ✘ | +| 在线代码编辑 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | +| 提交的统计图表 | ✓ | ✘ | ✓ | ✓ | ✓ | ✓ | ✓ | +| 模板仓库 | ✓ | ✘ | ✓ | ✘ | ✓ | ✓ | ✘ | +| Git Blame | ✓ | ✘ | ✓ | ✓ | ✓ | ✓ | ✘ | +| 可视化镜像变化 | ✓ | ✘ | ✓ | ? | ? | ? | ? | #### 工单管理 @@ -93,6 +102,7 @@ _表格中的符号含义:_ | 工单批处理 | ✓ | ✘ | ✓ | ✓ | ✓ | ✘ | ✘ | | 工单看板 | [✓](https://github.com/go-gitea/gitea/pull/8346) | ✘ | ✘ | ✓ | ✓ | ✘ | ✘ | | 从工单创建分支 | ✘ | ✘ | ✘ | ✓ | ✓ | ✘ | ✘ | +| 从评论创建工单 | ✓ | ✘ | ✓ | ✓ | ✓ | ✘ | ✘ | | 工单搜索 | ✓ | ✘ | ✓ | ✓ | ✓ | ✓ | ✘ | | 工单全局搜索 | [✘](https://github.com/go-gitea/gitea/issues/2434) | ✘ | ✓ | ✓ | ✓ | ✓ | ✘ | | 工单依赖关系 | ✓ | ✘ | ✘ | ✘ | ✘ | ✘ | ✘ | @@ -114,6 +124,8 @@ _表格中的符号含义:_ | Pull/Merge requests 模板 | ✓ | ✓ | ✓ | ✓ | ✓ | ✘ | ✘ | | 查看 Cherry-picking 的更改 | [✓](https://github.com/go-gitea/gitea/issues/5158) | ✘ | ✘ | ✓ | ✓ | ✘ | ✘ | | 下载 Patch | ✓ | ✘ | ✓ | ✓ | ✓ | [/](https://jira.atlassian.com/plugins/servlet/mobile#issue/BCLOUD-8323) | ✘ | +| Merge queues | ✘ | ✘ | ✓ | ✘ | ✓ | ✘ | ✘ | + #### 第三方集成 From 776911479f249771e22a14b94454b76542494bbe Mon Sep 17 00:00:00 2001 From: CaiCandong <1290147055@qq.com> Date: Thu, 10 Aug 2023 15:30:43 +0800 Subject: [PATCH 07/14] fix lint --- docs/content/installation/comparison.zh-cn.md | 1 - 1 file changed, 1 deletion(-) diff --git a/docs/content/installation/comparison.zh-cn.md b/docs/content/installation/comparison.zh-cn.md index a33b0a30a11f2..422d6314c5d7c 100644 --- a/docs/content/installation/comparison.zh-cn.md +++ b/docs/content/installation/comparison.zh-cn.md @@ -126,7 +126,6 @@ _表格中的符号含义:_ | 下载 Patch | ✓ | ✘ | ✓ | ✓ | ✓ | [/](https://jira.atlassian.com/plugins/servlet/mobile#issue/BCLOUD-8323) | ✘ | | Merge queues | ✘ | ✘ | ✓ | ✘ | ✓ | ✘ | ✘ | - #### 第三方集成 | 特性 | Gitea | Gogs | GitHub EE | GitLab CE | GitLab EE | BitBucket | RhodeCode CE | From 52a08b7f11463153fb6b35d035eb2a1e0600e794 Mon Sep 17 00:00:00 2001 From: CaiCandong <1290147055@qq.com> Date: Fri, 11 Aug 2023 16:55:55 +0800 Subject: [PATCH 08/14] update config-cheat-sheet --- .../config-cheat-sheet.zh-cn.md | 1546 +++++++++++++---- 1 file changed, 1187 insertions(+), 359 deletions(-) diff --git a/docs/content/administration/config-cheat-sheet.zh-cn.md b/docs/content/administration/config-cheat-sheet.zh-cn.md index a2fa25df92968..87e45aa6934d0 100644 --- a/docs/content/administration/config-cheat-sheet.zh-cn.md +++ b/docs/content/administration/config-cheat-sheet.zh-cn.md @@ -17,344 +17,1086 @@ menu: # 配置说明 -这是针对Gitea配置文件的说明,你可以了解Gitea的强大配置。需要说明的是,你的所有改变请修改 `custom/conf/app.ini` 文件而不是源文件。 +这是针对Gitea配置文件的说明, +你可以了解Gitea的强大配置。 + +需要说明的是,你的所有改变请修改 `custom/conf/app.ini` 文件而不是源文件。 +如果是从发行版本完成的安装, +配置文件的路径为`/etc/gitea/conf/app.ini`。 + 所有默认值可以通过 [app.example.ini](https://github.com/go-gitea/gitea/blob/main/custom/conf/app.example.ini) 查看到。 -如果你发现 `%(X)s` 这样的内容,请查看 [ini](https://github.com/go-ini/ini/#recursive-values) 这里的说明。 +如果你发现 `%(X)s` 这样的内容,请查看 +[ini](https://github.com/go-ini/ini/#recursive-values) 这里的说明。 标注了 :exclamation: 的配置项表明除非你真的理解这个配置项的意义,否则最好使用默认值。 -## ⚠️时效性警告⚠️ - -此文档的内容可能过于陈旧或者错误,请参考英文文档。 +在下面的默认值中,`$XYZ`代表环境变量`XYZ`的值(详见:`enviroment-to-ini`)。 _`XxYyZz`_是指默认配置的一部分列出的值。这些在 app.ini 文件中不起作用,仅在此处列出作为文档说明。 + +包含`#`或者`;`的变量必须使用引号(`` ` ``或者`""""`)包裹,否则会被解析为注释。 + +**注意:** 修改完配置文件后,需要重启 Gitea 服务才能生效。 + +## 默认配置 (非`app.ini`配置文件) + +这些值取决于环境,但构成了许多值的基础。当运行 `gitea help`或启动时,它们将 +作为默认配置的一部分进行报告。它们在那里发出的顺序略有不同,但我们将按照设置的顺序在这里列出。 + +- _`AppPath`_: Gitea二进制可执行文件的绝对路径 +- _`AppWorkPath`_: Gitea可执行文件的工作目录。 该配置可以通过以下几种方式设置,优先级依次递减: + - `app.ini`中的`WORK_PATH`配置项 + - 启动Gitea时的`--work-path`命令行参数 + - `$GITEA_WORK_DIR`环境变量 + - 在编译时设置的内置值(参见从源代码编译) + - 默认为 _`AppPath`_ 的目录 + - 如果上述任何路径为相对路径,将自动解析为相对于 _`AppPath`_ 目录的绝对路径 +- _`CustomPath`_: 这是用于自定义模板和其他选项的基础目录。 +它是通过使用以下层次结构中的第一个设置的内容来确定的: + - 通过传递给二进制文件的`--custom-path`标志 + - 环境变量 `$GITEA_CUSTOM` + - 在构建时设置的内置值(参见从源代码构建) + - 否则,默认为 _`AppWorkPath`_`/custom` + - 如果上述任何路径是相对路径,则会相对于 _`AppWorkPath`_ 目录进行处理, + 使其变为绝对路径。 +- _`CustomConf`_: 这是指向`app.ini`文件的路径。 + - 这是指向`app.ini`文件的路径。 + - 在构建时设置的内置值(参见从源代码构建) + - 否则,默认为 _`CustomPath`_`/conf/app.ini` + - 如果上述任何路径是相对路径,则会相对于_`CustomPath`_目录进行处理。 + +此外,还有_`StaticRootPath`_,可以在构建时设置为内置值,否则将默认为 _`AppWorkPath`_。 ## Overall (`DEFAULT`) -- `APP_NAME`: 应用名称,改成你希望的名字。 -- `RUN_USER`: 运行Gitea的用户,推荐使用 `git`;如果在你自己的个人电脑使用改成你自己的用户名。如果设置不正确,Gitea可能崩溃。 -- `RUN_MODE`: 从性能考虑,如果在产品级的服务上改成 `prod`。如果您使用安装向导安装的那么会自动设置为 `prod`。 +- `APP_NAME`: **Gitea: Git with a cup of tea** 应用名称,在网页的标题中显示。 +- `RUN_USER`: **_current OS username_/`$USER`/`$USERNAME` e.g. git**: 运行Gitea的用户, + 应当是一个专用的系统账户(非用户使用,推荐创建一个专用的`git`用户). 如果在你自己的个人电脑使用改成你自己的用户名。 + 该配置如果设置不正确,Gitea可能崩溃。 +- `RUN_MODE`: **prod**: 应用的运行模式,对运行性能和问题排除有影响: `dev` 或者 `prod`,默认为 `prod`。 `dev`模式有助于开发和问题排查, 除设置为`dev` 外,均被视为 `prod`. +- `WORK_PATH`: **_the-work-path_**: 工作目录, 前文有提及. + +## 仓库 (`repository`) + +- `ROOT`: **%(APP_DATA_PATH)s/gitea-repositories**: 存放git工程的根目录,建议填绝对路径。 + 相对路径将被解析为**_`AppWorkPath`_/%(ROOT)s**. +- `SCRIPT_TYPE`: **bash**: 服务器支持的Shell类型,通常是`bash`, + 但有些服务器也有可能是`sh`。 +- `DETECTED_CHARSETS_ORDER`: **UTF-8, UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE, ISO-8859, windows-1252, ISO-8859, windows-1250, ISO-8859, ISO-8859, ISO-8859, windows-1253, ISO-8859, windows-1255, ISO-8859, windows-1251, windows-1256, KOI8-R, ISO-8859, windows-1254, Shift_JIS, GB18030, EUC-JP, EUC-KR, Big5, ISO-2022, ISO-2022, ISO-2022, IBM424_rtl, IBM424_ltr, IBM420_rtl, IBM420_ltr**: 检测到的字符集的决定性顺序 - 如果检测到的字符集具有相等的置信度,则优先选择列表中较早出现的字符集,而不是较晚出现的字符集。添加“defaults”将会将未命名的字符集放置在该点。 +- `ANSI_CHARSET`: **_empty_**: 默认的ANSI字符集,用于覆盖非UTF-8字符集。 +- `FORCE_PRIVATE`: **false**: 强制使每个新仓库变为私有。 +- `DEFAULT_PRIVATE`: **last**: 创建新仓库时默认为私有。 + \[last, private, public\] +- `DEFAULT_PUSH_CREATE_PRIVATE`: **true**: 使用推送创建新仓库时默认为私有。 +- `MAX_CREATION_LIMIT`: **-1**: 每个用户的全局仓库创建上限, + `-1` 代表无限制. +- `PREFERRED_LICENSES`: **Apache License 2.0,MIT License**: 要放置在列表顶部的指定许可证。 + 名称必须与 options/license 或 custom/options/license 中的文件名匹配。 +- `DISABLE_HTTP_GIT`: **false**: 禁用HTTP协议与仓库进行 + 交互的能力。 +- `USE_COMPAT_SSH_URI`: **false**: 当使用默认的SSH端口时,强制使用ssh://克隆URL, + 而不是scp-style uri。 +- `GO_GET_CLONE_URL_PROTOCOL`: **https**: 用于 "go get" 请求的值,返回仓库的URL作为https或ssh, + 默认为https。 +- `ACCESS_CONTROL_ALLOW_ORIGIN`: **_empty_**:用于 Access-Control-Allow-Origin 标头的值, +默认不提供。 +警告:如果您不提供正确的值,这可能对您的网站造成危害。 +- `DEFAULT_CLOSE_ISSUES_VIA_COMMITS_IN_ANY_BRANCH`: **false**: 如果非默认分支上的提交将问题标记为已关闭,则关闭该问题。 +- `ENABLE_PUSH_CREATE_USER`: **false**: 允许用户将本地存储库推送到Gitea,并为用户自动创建它们。 +- `ENABLE_PUSH_CREATE_ORG`: **false**: 允许用户将本地存储库推送到Gitea,并为组织自动创建它们。 +- `DISABLED_REPO_UNITS`: **_empty_**: 逗号分隔的全局禁用的仓库单元列表。允许的值是:: \[repo.issues, repo.ext_issues, repo.pulls, repo.wiki, repo.ext_wiki, repo.projects, repo.packages, repo.actions\] +- `DEFAULT_REPO_UNITS`: **repo.code,repo.releases,repo.issues,repo.pulls,repo.wiki,repo.projects,repo.packages**: 逗号分隔的默认新仓库单元列表。允许的值是:: \[repo.code, repo.releases, repo.issues, repo.pulls, repo.wiki, repo.projects, repo.packages, repo.actions\]. 注意:目前无法停用代码和发布。如果您指定了默认的仓库单元,您仍应将它们列出以保持未来的兼容性。外部wiki和问题跟踪器不能默认启用,因为它需要额外的设置。禁用的仓库单元将不会添加到新的仓库中,无论它是否在默认列表中。 +- `DEFAULT_FORK_REPO_UNITS`: **repo.code,repo.pulls**: 逗号分隔的默认分叉仓库单元列表。允许的值和规则与`DEFAULT_REPO_UNITS`相同。 +- `PREFIX_ARCHIVE_FILES`: **true**: 通过将存档文件放置在以仓库命名的目录中来添加前缀。 +- `DISABLE_MIGRATIONS`: **false**: 禁用迁移功能。 +- `DISABLE_STARS`: **false**: 禁用点赞功能。 +- `DEFAULT_BRANCH`: **main**: 所有仓库的默认分支名称。 +- `ALLOW_ADOPTION_OF_UNADOPTED_REPOSITORIES`: **false**: 允许非管理员用户认领未被认领的仓库。 +- `ALLOW_DELETION_OF_UNADOPTED_REPOSITORIES`: **false**: 允许非管理员用户删除未被认领的仓库。 +- `DISABLE_DOWNLOAD_SOURCE_ARCHIVES`: **false**: 不允许从用户界面下载源代码存档文件。 +- `ALLOW_FORK_WITHOUT_MAXIMUM_LIMIT`: **true**: 允许无限制得派生仓库。 + +### 仓库 - 编辑器 (`repository.editor`) + +- `LINE_WRAP_EXTENSIONS`: **.txt,.md,.markdown,.mdown,.mkd,.livemd,**: 在 Monaco 编辑器中应该换行的文件扩展名列表。用逗号分隔扩展名。要对没有扩展名的文件进行换行,只需放置一个逗号。 +- `PREVIEWABLE_FILE_MODES`: **markdown**: 具有预览API的有效文件模式,例如 `api/v1/markdown`。用逗号分隔各个值。如果文件扩展名不匹配,编辑模式下的预览选项卡将不会显示。 + +### 仓库 - 合并请求 (`repository.pull-request`) + +- `WORK_IN_PROGRESS_PREFIXES`: **WIP:,\[WIP\]**: 在拉取请求标题中用于标记工作正在进行中的前缀列表。 +这些前缀在不区分大小写的情况下进行匹配。 +- `CLOSE_KEYWORDS`: **close**, **closes**, **closed**, **fix**, **fixes**, **fixed**, **resolve**, **resolves**, **resolved**: 在拉取请求评论中用于自动关闭相关问题的关键词列表。 +- `REOPEN_KEYWORDS`: **reopen**, **reopens**, **reopened**: 在拉取请求评论中用于自动重新打开相关问题的 +关键词列表。 +- `DEFAULT_MERGE_STYLE`: **merge**: 设置创建仓库的默认合并方式,可选: `merge`, `rebase`, `rebase-merge`, `squash` +- `DEFAULT_MERGE_MESSAGE_COMMITS_LIMIT`: **50**: 在默认合并消息中,对于`squash`提交,最多包括此数量的提交。设置为 -1 以包括所有提交。 +- `DEFAULT_MERGE_MESSAGE_SIZE`: **5120**: 在默认的合并消息中,对于`squash`提交,限制提交消息的大小。设置为 `-1`以取消限制。仅在`POPULATE_SQUASH_COMMENT_WITH_COMMIT_MESSAGES`为`true`时使用。 +- `DEFAULT_MERGE_MESSAGE_ALL_AUTHORS`: **false**: 在默认合并消息中,对于`squash`提交,遍历所有提交以包括所有作者的`Co-authored-by`,否则仅使用限定列表中的作者。 +- `DEFAULT_MERGE_MESSAGE_MAX_APPROVERS`: **10**:在默认合并消息中,限制列出的审批者数量为`Reviewed-by`:。设置为 `-1` 以包括所有审批者。 +- `DEFAULT_MERGE_MESSAGE_OFFICIAL_APPROVERS_ONLY`: **true**: 在默认合并消息中,仅包括官方允许审查的审批者。 +- `POPULATE_SQUASH_COMMENT_WITH_COMMIT_MESSAGES`: **false**: 在默认的 squash 合并消息中,包括构成拉取请求的所有提交的提交消息。 +- `ADD_CO_COMMITTER_TRAILERS`: **true**: 如果提交者与作者不匹配,在合并提交消息中添加`co-authored-by`和`co-committed-by`标记。 +- `TEST_CONFLICTING_PATCHES_WITH_GIT_APPLY`:使用三方合并方法测试`PR Patch`以发现是否存在冲突。如果此设置`true`,将使用`git apply`重新测试冲突的`PR Pathch` - 这是1.18(和之前版本)中的先前行为,但效率相对较低。如果发现需要此设置,请报告。 + +### 仓库 - 工单 (`repository.issue`) + +- `LOCK_REASONS`: **Too heated,Off-topic,Resolved,Spam**: 合并请求或工单被锁定的原因列表。 +- `MAX_PINNED`: **3**: 每个仓库的最大可固定工单数量。设置为0禁用固定工单。 + +### 仓库 - 文件上传 (`repository.upload`) + +- `ENABLED`: **true**: 是否启用仓库文件上传。 +- `TEMP_PATH`: **data/tmp/uploads**: 文件上传的临时保存路径(在Gitea重启的时候该目录会被清空)。 +- `ALLOWED_TYPES`: **_empty_**: 以逗号分割的列表,代表支持上传的文件类型。(`.zip`), mime类型 (`text/plain`) or 通配符类型 (`image/*`, `audio/*`, `video/*`). 为空或者 `*/*`代表允许所有类型文件。 +- `FILE_MAX_SIZE`: **3**: 每个文件的最大大小(MB)。 +- `MAX_FILES`: **5**: 每次上传的最大文件数。 + +### 仓库 - 版本发布 (`repository.release`) + +- `ALLOWED_TYPES`: **_empty_**: 允许发布的文件类型列表,用逗号分隔 。如压缩包类型(`.zip`), mime 类型 (`text/plain`) ,也支持通配符 (`image/*`, `audio/*`, `video/*`)。 空值或者 `*/*` 代表允许所有类型。 +- `DEFAULT_PAGING_NUM`: **10**: 默认的发布版本页面分页大小 +- 关于版本发布相关的附件设置,详见`附件`部分。 + +### 仓库 - Signing (`repository.signing`) + +- `SIGNING_KEY`: **default**: \[none, KEYID, default \]: 用于签名的密钥 +- `SIGNING_NAME` & `SIGNING_EMAIL`: 如果`SIGNING_KEY`提供了一个 KEYID,将使用这些作为签名者的姓名和电子邮件地址。这些应与密钥的公开姓名和电子邮件地址相匹配。 +- `INITIAL_COMMIT`: **always**: \[never, pubkey, twofa, always\]: 签名初始提交。 + - `never`: 永不签名 + - `pubkey`: 仅在用户具有公钥时签名 + - `twofa`: 仅在用户使用双因素身份验证登录时签名 + - `always`: 始终签名 + - 除了 never 和 always 之外的选项可以组合为逗号分隔的列表。 +- `DEFAULT_TRUST_MODEL`: **collaborator**: \[collaborator, committer, collaboratorcommitter\]: 用于验证提交的默认信任模型。 + - `collaborator`: 信任协作者密钥签名的签名。 + - `committer`: 信任与提交者匹配的签名(这与GitHub匹配,并会强制Gitea签名的提交具有Gitea作为提交者)。 + - `collaboratorcommitter`: 信任与提交者匹配的协作者密钥签名的签名。 +- `WIKI`: **never**: \[never, pubkey, twofa, always, parentsigned\]: 对wiki提交进行签名。 +- `CRUD_ACTIONS`: **pubkey, twofa, parentsigned**: \[never, pubkey, twofa, parentsigned, always\]: 对CRUD操作进行签名。 + - 与上面相同的选项,增加了: + - `parentsigned`: 仅在父提交进行了签名时才进行签名。 +- `MERGES`: **pubkey, twofa, basesigned, commitssigned**: \[never, pubkey, twofa, approved, basesigned, commitssigned, always\]: 对合并操作进行签名。 + - `approved`: 仅对已批准的合并操作进行签名,适用于受保护的分支。 + - `basesigned`: 仅在基础仓库的父提交进行了签名时才进行签名。 + - `headsigned`: 仅在头分支的头提交进行了签名时才进行签名。 + - `commitssigned`: 仅在头分支中的所有提交到合并点都进行了签名时才进行签名。 + +### 仓库 - Local (`repository.local`) + +- `LOCAL_COPY_PATH`: **tmp/local-repo**:临时本地仓库副本的路径。默认为 tmp/local-repo(内容在 Gitea 重新启动时被删除) + +### 仓库 - MIME type mapping (`repository.mimetype_mapping`) + +配置用于根据可下载文件的文件扩展名设置预期的 MIME 类型。配置以键值对的形式呈现,文件扩展名以`.`开头。 + +以下配置在下载具有`.apk`文件扩展名的文件时设置`Content-Type: application/vnd.android.package-archive`头部。 -## Repository (`repository`) - -- `ROOT`: 存放git工程的根目录。这里必须填绝对路径,默认值是 `~//gitea-repositories`。 -- `SCRIPT_TYPE`: 服务器支持的Shell类型,通常是 `bash`,但有些服务器也有可能是 `sh`。 -- `ANSI_CHARSET`: 默认字符编码。 -- `FORCE_PRIVATE`: 强制所有git工程必须私有。 -- `DEFAULT_PRIVATE`: 默认创建的git工程为私有。 可以是`last`, `private` 或 `public`。默认值是 `last`表示用户最后创建的Repo的选择。 -- `DEFAULT_PUSH_CREATE_PRIVATE`: **true**: 通过 ``push-to-create`` 方式创建的仓库是否默认为私有仓库. -- `MAX_CREATION_LIMIT`: 全局最大每个用户创建的git工程数目, `-1` 表示没限制。 +```ini +.apk=application/vnd.android.package-archive +``` -### Repository - Release (`repository.release`) +## 跨域 (`cors`) -- `ALLOWED_TYPES`: **_empty_**: 允许扩展名的列表,用逗号分隔 (`.zip`), mime 类型 (`text/plain`) 或者匹配符号 (`image/*`, `audio/*`, `video/*`). 空值或者 `*/*` 允许所有类型。 -- `DEFAULT_PAGING_NUM`: **10**: 默认的发布版本页面分页。 +- `ENABLED`: **false**: 启用 CORS 头部(默认禁用) +- `SCHEME`: **http**: 允许请求的协议 +- `ALLOW_DOMAIN`: **\***: 允许请求的域名列表 +- `ALLOW_SUBDOMAIN`: **false**: 允许上述列出的头部的子域名发出请求。 +- `METHODS`: **GET,HEAD,POST,PUT,PATCH,DELETE,OPTIONS**: 允许发起的请求方式列表 +- `MAX_AGE`: **10m**: 缓存响应的最大时间 +- `ALLOW_CREDENTIALS`: **false**: 允许带有凭据的请求 +- `HEADERS`: **Content-Type,User-Agent**: 允许请求携带的头部 +- `X_FRAME_OPTIONS`: **SAMEORIGIN**: 详见 `X-Frame-Options`HTTP头部. -## UI (`ui`) +## 界面 (`ui`) -- `EXPLORE_PAGING_NUM`: 探索页面每页显示的仓库数量。 -- `ISSUE_PAGING_NUM`: 工单页面每页显示的工单数量。 +- `EXPLORE_PAGING_NUM`: **20**: 探索页面每页显示的仓库数量。 +- `ISSUE_PAGING_NUM`: **20**: 工单页面每页显示的工单数量。 - `MEMBERS_PAGING_NUM`: **20**: 组织成员页面每页显示的成员数量。 -- `FEED_MAX_COMMIT_NUM`: 活动流页面显示的最大提交数量。 +- `FEED_MAX_COMMIT_NUM`: **5**: 活动流页面显示的最大提交数量。 +- `FEED_PAGING_NUM`: **20**: 活动流页面显示的最大活动数量。 +- `SITEMAP_PAGING_NUM`: **20**: 在单个子SiteMap中显示的项数。 +- `GRAPH_MAX_COMMIT_NUM`: **100**: 提交图中显示的最大commit数量。 +- `CODE_COMMENT_LINES`: **4**: 在代码评论中能够显示的最大代码行数。 +- `DEFAULT_THEME`: **auto**: \[auto, gitea, arc-green\]: 在Gitea安装时候设置的默认主题。 +- `SHOW_USER_EMAIL`: **true**: 用户的电子邮件是否应该显示在`Explore Users`页面中。 +- `THEMES`: **auto,gitea,arc-green**: 所有可用的主题。允许用户选择个性化的主题, + 而不受DEFAULT_THEME 值的影响。 +- `MAX_DISPLAY_FILE_SIZE`: **8388608**: 能够显示文件的最大大小(默认为8MiB)。 +- `REACTIONS`: 用户可以在问题(Issue)、Pull Request(PR)以及评论中选择的所有可选的反应。 + 这些值可以是表情符号别名(例如::smile:)或Unicode表情符号。 + 对于自定义的反应,在 public/assets/img/emoji/ 目录下添加一个紧密裁剪的正方形图像,文件名为 reaction_name.png。 +- `CUSTOM_EMOJIS`: **gitea, codeberg, gitlab, git, github, gogs**: 不在utf8标准中定义的额外表情符号。 + 默认情况下,我们支持 Gitea 表情符号(:gitea:)。要添加更多表情符号,请将它们复制到 public/assets/img/emoji/ 目录下, + 并将其添加到此配置中。 +- `DEFAULT_SHOW_FULL_NAME`: **false**: 是否在可能的情况下显示用户的全名。如果没有设置全名,则将使用用户名。 +- `SEARCH_REPO_DESCRIPTION`: **true**: 是否在探索页面上的仓库搜索中搜索描述。 +- `ONLY_SHOW_RELEVANT_REPOS`: **false** 在没有指定关键字并使用默认排序时,是否仅在探索页面上显示相关的仓库。 + 如果一个仓库是分叉或者没有元数据(没有描述、图标、主题),则被视为不相关的仓库。 + +### 界面 - 管理员 (`ui.admin`) + +- `USER_PAGING_NUM`: **50**: 单页显示的用户数量。 +- `REPO_PAGING_NUM`: **50**: 单页显示的仓库数量。 +- `NOTICE_PAGING_NUM`: **25**: 单页显示的通知数量。 +- `ORG_PAGING_NUM`: **50**: 单页显示的组织数量。 + +### 界面 - 用户 (`ui.user`) -### UI - Admin (`ui.admin`) +- `REPO_PAGING_NUM`: **15**: 单页显示的仓库数量。 -- `USER_PAGING_NUM`: 用户管理页面每页显示的用户数量。 -- `REPO_PAGING_NUM`: 仓库管理页面每页显示的仓库数量。 -- `NOTICE_PAGING_NUM`: 系统提示页面每页显示的提示数量。 -- `ORG_PAGING_NUM`: 组织管理页面每页显示的组织数量。 +### 界面 - 元信息 (`ui.meta`) + +- `AUTHOR`: **Gitea - Git with a cup of tea**: 主页的作者元标签。 +- `DESCRIPTION`: **Gitea (Git with a cup of tea) is a painless self-hosted Git service written in Go**: 主页的描述元标签。 +- `KEYWORDS`: **go,git,self-hosted,gitea**: 首页关键词元标签。 + +### 界面 - 通知 (`ui.notification`) + +- `MIN_TIMEOUT`: **10s**: 这些选项控制通知端点定期轮询以更新通知计数。在页面加载后,通知计数将在` MIN_TIMEOUT`之后进行检查。如果通知计数未更改,超时时间将按照`TIMEOUT_STEP`增加到`MAX_TIMEOUT`。将 `MIN_TIMEOUT`设置为 -1 以关闭该功能。 +- `MAX_TIMEOUT`: **60s**. +- `TIMEOUT_STEP`: **10s**. +- `EVENT_SOURCE_UPDATE_TIME`: **10s**: 该设置确定了查询数据库以更新通知计数的频率。如果浏览器客户端支持`EventSource`和`SharedWorker`,则优先使用`SharedWorker`而不是轮询通知端点。将其设置为 -1 可以禁用 `EventSource`。 + +### 界面 - SVG Images (`ui.svg`) + +- `ENABLE_RENDER`: **true**: 是否将SVG文件呈现为图像。如果禁用了SVG渲染,SVG文件将显示为文本,无法作为图像嵌入到Markdown文件中。 + +### 界面 - CSV Files (`ui.csv`) + +- `MAX_FILE_SIZE`: **524288** (512kb): 以字节为单位允许将CSV文件呈现为表格的最大文件大小(将其设置为0表示没有限制)。 ## Markdown (`markdown`) -- `ENABLE_HARD_LINE_BREAK`: 是否启用硬换行扩展。 - -## Server (`server`) - -- `PROTOCOL`: 可选 `http` 或 `https`。 -- `DOMAIN`: 服务器域名。 -- `ROOT_URL`: Gitea服务器的对外 URL。 -- `HTTP_ADDR`: HTTP 监听地址。 -- `HTTP_PORT`: HTTP 监听端口。 -- `DISABLE_SSH`: 是否禁用SSH。 -- `START_SSH_SERVER`: 是否启用内部SSH服务器。 -- `SSH_PORT`: SSH端口,默认为 `22`。 -- `OFFLINE_MODE`: 针对静态和头像文件禁用 CDN。 -- `DISABLE_ROUTER_LOG`: 关闭日志中的路由日志。 -- `CERT_FILE`: 启用HTTPS的证书文件。 -- `KEY_FILE`: 启用HTTPS的密钥文件。 -- `STATIC_ROOT_PATH`: 存放模板和静态文件的根目录,默认是 Gitea 的根目录。 -- `STATIC_CACHE_TIME`: **6h**: 静态资源文件,包括 `custom/`, `public/` 和所有上传的头像的浏览器缓存时间。 -- `ENABLE_GZIP`: 启用实时生成的数据启用 GZIP 压缩,不包括静态资源。 -- `LANDING_PAGE`: 未登录用户的默认页面,可选 `home` 或 `explore`。 - -- `LFS_START_SERVER`: 是否启用 git-lfs 支持. 可以为 `true` 或 `false`, 默认是 `false`。 -- `LFS_JWT_SECRET`: LFS 认证密钥,改成自己的。 -- `LFS_CONTENT_PATH`: **已废弃**, 存放 lfs 命令上传的文件的地方,默认是 `data/lfs`。**废弃** 请使用 `[lfs]` 的设置。 - -## Database (`database`) - -- `DB_TYPE`: 数据库类型,可选 `mysql`, `postgres`, `mssql` 或 `sqlite3`。 -- `HOST`: 数据库服务器地址和端口。 -- `NAME`: 数据库名称。 -- `USER`: 数据库用户名。 -- `PASSWD`: 数据库用户密码。 -- `SSL_MODE`: MySQL 或 PostgreSQL数据库是否启用SSL模式。 -- `CHARSET`: **utf8mb4**: 仅当数据库为 MySQL 时有效, 可以为 "utf8" 或 "utf8mb4"。注意:如果使用 "utf8mb4",你的 MySQL InnoDB 版本必须在 5.6 以上。 -- `PATH`: SQLite3 数据文件存放路径。 -- `LOG_SQL`: **true**: 显示生成的SQL,默认为真。 -- `MAX_IDLE_CONNS` **0**: 最大空闲数据库连接 -- `CONN_MAX_LIFETIME` **3s**: 数据库连接最大存活时间 - -## Indexer (`indexer`) - -- `ISSUE_INDEXER_TYPE`: **bleve**: 工单索引类型,当前支持 `bleve`, `db` 和 `elasticsearch`,当为 `db` 时其它工单索引项可不用设置。 -- `ISSUE_INDEXER_CONN_STR`: ****: 工单索引连接字符串,仅当 ISSUE_INDEXER_TYPE 为 `elasticsearch` 时有效。例如: http://elastic:changeme@localhost:9200 -- `ISSUE_INDEXER_NAME`: **gitea_issues**: 工单索引名称,仅当 ISSUE_INDEXER_TYPE 为 `elasticsearch` 时有效。 -- `ISSUE_INDEXER_PATH`: **indexers/issues.bleve**: 工单索引文件存放路径,当索引类型为 `bleve` 时有效。 - -- `REPO_INDEXER_ENABLED`: **false**: 是否启用代码搜索(启用后会占用比较大的磁盘空间,如果是bleve可能需要占用约6倍存储空间)。 -- `REPO_INDEXER_TYPE`: **bleve**: 代码搜索引擎类型,可以为 `bleve` 或者 `elasticsearch`。 -- `REPO_INDEXER_PATH`: **indexers/repos.bleve**: 用于代码搜索的索引文件路径。 -- `REPO_INDEXER_CONN_STR`: ****: 代码搜索引擎连接字符串,当 `REPO_INDEXER_TYPE` 为 `elasticsearch` 时有效。例如: http://elastic:changeme@localhost:9200 -- `REPO_INDEXER_NAME`: **gitea_codes**: 代码搜索引擎的名字,当 `REPO_INDEXER_TYPE` 为 `elasticsearch` 时有效。 - -- `MAX_FILE_SIZE`: **1048576**: 进行解析的源代码文件的最大长度,小于该值时才会索引。 - -## Security (`security`) - -- `INSTALL_LOCK`: 是否允许运行安装向导,(跟管理员账号有关,十分重要)。 -- `SECRET_KEY`: 全局服务器安全密钥 **最好改成你自己的** (当你运行安装向导的时候会被设置为一个随机值)。 -- `LOGIN_REMEMBER_DAYS`: Cookie 保存时间,单位天。 -- `COOKIE_USERNAME`: 保存用户名的 cookie 名称。 -- `COOKIE_REMEMBER_NAME`: 保存自动登录信息的 cookie 名称。 -- `REVERSE_PROXY_AUTHENTICATION_USER`: 反向代理认证的 HTTP 头名称。 +- `ENABLE_HARD_LINE_BREAK_IN_COMMENTS`: **true**: 在评论中将软换行符呈现为硬换行符, + 这意味着段落之间的单个换行符将导致换行, + 并且不需要在段落后添加尾随空格来强制换行。 +- `ENABLE_HARD_LINE_BREAK_IN_DOCUMENTS`: **false**: 在文档中将软换行符呈现为硬换行符, + 这意味着段落之间的单个换行符将导致换行, + 并且不需要在段落后添加尾随空格来强制换行。 +- `CUSTOM_URL_SCHEMES`: 使用逗号分隔的列表(ftp、git、svn)来指示要在Markdown中呈现的附加URL超链接。 + 以http和https开头的URL始终显示。 + 如果此条目为空,则允许所有URL方案。 +- `FILE_EXTENSIONS`: **.md,.markdown,.mdown,.mkd,.livemd**: 应呈现/编辑为Markdown的文件扩展名列表。使用逗号分隔扩展名。要将没有任何扩展名的文件呈现为Markdown,请只需放置一个逗号。 +- `ENABLE_MATH`: **true**: 启用对`\(...\)`, `\[...\]`, `$...$`和`$$...$$` 作为数学块的检测。 + +## 服务器 (`server`) + +- `APP_DATA_PATH`: **_`AppWorkPath`_/data**: 这是存储数据的默认根路径。 +- `PROTOCOL`: **http**: \[http, https, fcgi, http+unix, fcgi+unix\] +- `USE_PROXY_PROTOCOL`: **false**: 在连接中预期`PROXY`协议头。 +- `PROXY_PROTOCOL_TLS_BRIDGING`: **false**: 协议为 https 时,在`TLS`协商后预期`PROXY`协议头。 +- `PROXY_PROTOCOL_HEADER_TIMEOUT`: **5s**: 等待`PROXY`协议头的超时时间(设置为`0`表示没有超时)。 +- `PROXY_PROTOCOL_ACCEPT_UNKNOWN`: **false**:接受带有未知类型的`PROXY`协议头。 +- `DOMAIN`: **localhost**: 此服务器的域名。 +- `ROOT_URL`: **%(PROTOCOL)s://%(DOMAIN)s:%(HTTP\_PORT)s/**: + 覆盖自动生成的公共URL。 + 如果内部URL和外部URL不匹配(例如在Docker中),这很有用。 +- `STATIC_URL_PREFIX`: **_empty_**: + 覆盖此选项以从不同的URL请求静态资源。 + 这包括CSS文件、图片、JS文件和Web字体。 + 头像图片是动态资源,仍由Gitea提供。 + 选项可以是不同的路径,例如`/static`, 也可以是另一个域,例如`https://cdn.example.com`. + 请求会变成 `%(ROOT_URL)s/static/assets/css/index.css` 或 `https://cdn.example.com/assets/css/index.css` + 静态文件位于Gitea源代码仓库的`public/`目录中。 + 您可以将`STATIC_URL_PREFIX`请求代理到 Gitea 服务器以提供静态资源,或者将手动构建的 Gitea 资源从 `$GITEA_BUILD/public`复制到静态位置,例如`/var/www/assets`。确保`$STATIC_URL_PREFIX/assets/css/index.css`指向`/var/www/assets/css/index.css`。 + +- `HTTP_ADDR`: **0.0.0.0**:HTTP 监听地址。 + - 如果 `PROTOCOL` 设置为 `fcgi`,Gitea 将在由 + `HTTP_ADDR` 和 `HTTP_PORT` 配置设置定义的 TCP 套接字上监听 FastCGI 请求。 + - 如果 `PROTOCOL` 设置为 `http+unix` 或 `fcgi+unix`,则应该是要使用的 Unix 套接字文件的名称。相对路径将相对于 _`AppWorkPath`_ 被转换为绝对路径。 +- `HTTP_PORT`: **3000**:HTTP 监听端口。 + - 如果 `PROTOCOL` 设置为 `fcgi`,Gitea 将在由 `HTTP_ADDR` 和 `HTTP_PORT` + 配置设置定义的 TCP 套接字上监听 FastCGI 请求。 +- `UNIX_SOCKET_PERMISSION`: **666**:Unix 套接字的权限。 +- `LOCAL_ROOT_URL`: **%(PROTOCOL)s://%(HTTP_ADDR)s:%(HTTP_PORT)s/**: + 用于访问网络服务的 Gitea 工作器(例如 SSH 更新)的本地(DMZ)URL。 + 在大多数情况下,您不需要更改默认值。 + 仅在您的 SSH 服务器节点与 HTTP 节点不同的情况下才修改它。对于不同的协议,默认值不同。如果 `PROTOCOL` + 是 `http+unix`,则默认值为 `http://unix/`。如果 `PROTOCOL` 是 `fcgi` 或 `fcgi+unix`,则默认值为 + `%(PROTOCOL)s://%(HTTP_ADDR)s:%(HTTP_PORT)s/`。如果监听在 `0.0.0.0`,则默认值为 + `%(PROTOCOL)s://localhost:%(HTTP_PORT)s/`, + 否则默认值为 `%(PROTOCOL)s://%(HTTP_ADDR)s:%(HTTP_PORT)s/`。 +- `LOCAL_USE_PROXY_PROTOCOL`: **%(USE_PROXY_PROTOCOL)s**:在进行本地连接时传递 PROXY 协议头。 + 如果本地连接将经过代理,请将其设置为 false。 +- `PER_WRITE_TIMEOUT`: **30s**:连接的任何写操作的超时时间。(将其设置为 -1 + 以禁用所有超时。) +- `PER_WRITE_PER_KB_TIMEOUT`: **10s**:连接每写入 1 KB 的超时时间。 +- `DISABLE_SSH`: **false**:当SSH不可用时禁用SSH功能。 +- `START_SSH_SERVER`: **false**:启用时,使用内置的SSH服务器。 +- `SSH_SERVER_USE_PROXY_PROTOCOL`: **false**:在与内置SSH服务器建立连接时,期望PROXY协议头。 +- `BUILTIN_SSH_SERVER_USER`: **%(RUN_USER)s**:用于内置SSH服务器的用户名。 +- `SSH_USER`: **%(BUILTIN_SSH_SERVER_USER)s**:在克隆URL中显示的SSH用户名。这仅适用于自行配置SSH服务器的人;在大多数情况下,您希望将其留空并修改`BUILTIN_SSH_SERVER_USER`。 +- `SSH_DOMAIN`: **%(DOMAIN)s**:此服务器的域名,用于显示的克隆 URL。 +- `SSH_PORT`: **22**:显示在克隆 URL 中的 SSH 端口。 +- `SSH_LISTEN_HOST`: **0.0.0.0**:内置 SSH 服务器的监听地址。 +- `SSH_LISTEN_PORT`: **%(SSH_PORT)s**:内置 SSH 服务器的端口。 +- `SSH_ROOT_PATH`: **~/.ssh**:SSH 目录的根路径。 +- `SSH_CREATE_AUTHORIZED_KEYS_FILE`: **true**:当 Gitea 不使用内置 SSH 服务器时,默认情况下 Gitea 会创建一个 authorized_keys 文件。如果您打算使用 AuthorizedKeysCommand 功能,您应该关闭此选项。 +- `SSH_AUTHORIZED_KEYS_BACKUP`: **false**:在重写所有密钥时启用 SSH 授权密钥备份,默认值为 false。 +- `SSH_TRUSTED_USER_CA_KEYS`: **_empty_**:指定信任的证书颁发机构的公钥,用于对用户证书进行身份验证。多个密钥应以逗号分隔。例如 `ssh- ` 或 `ssh- , ssh- `。有关详细信息,请参阅 `sshd` 配置手册中的 `TrustedUserCAKeys` 部分。当为空时,不会创建文件,并且 `SSH_AUTHORIZED_PRINCIPALS_ALLOW` 默认为 `off`。 +- `SSH_TRUSTED_USER_CA_KEYS_FILENAME`: **`RUN_USER`/.ssh/gitea-trusted-user-ca-keys.pem**:Gitea 将管理的 `TrustedUserCaKeys` 文件的绝对路径。如果您正在运行自己的 SSH 服务器,并且想要使用 Gitea 管理的文件,您还需要修改您的 `sshd_config` 来指向此文件。官方的 Docker 映像将自动工作,无需进一步配置。 +- `SSH_AUTHORIZED_PRINCIPALS_ALLOW`: **off** 或 **username, email**:\[off, username, email, anything\]:指定允许用户用作 principal 的值。当设置为 `anything` 时,对 principal 字符串不执行任何检查。当设置为 `off` 时,不允许设置授权的 principal。 +- `SSH_CREATE_AUTHORIZED_PRINCIPALS_FILE`: **false/true**:当 Gitea 不使用内置 SSH 服务器且 `SSH_AUTHORIZED_PRINCIPALS_ALLOW` 不为 `off` 时,默认情况下 Gitea 会创建一个 authorized_principals 文件。 +- `SSH_AUTHORIZED_PRINCIPALS_BACKUP`: **false/true**:在重写所有密钥时启用 SSH 授权 principal 备份,默认值为 true(如果 `SSH_AUTHORIZED_PRINCIPALS_ALLOW` 不为 `off`)。 +- `SSH_AUTHORIZED_KEYS_COMMAND_TEMPLATE`: **{{.AppPath}} --config={{.CustomConf}} serv key-{{.Key.ID}}**:设置用于传递授权密钥的命令模板。可能的密钥是:AppPath、AppWorkPath、CustomConf、CustomPath、Key,其中 Key 是 `models/asymkey.PublicKey`,其他是 shellquoted 字符串。 +- `SSH_SERVER_CIPHERS`: **chacha20-poly1305@openssh.com, aes128-ctr, aes192-ctr, aes256-ctr, aes128-gcm@openssh.com, aes256-gcm@openssh.com**:对于内置的 SSH 服务器,选择支持的 SSH 连接的加密方法,对于系统 SSH,此设置无效。 +- `SSH_SERVER_KEY_EXCHANGES`: **curve25519-sha256, ecdh-sha2-nistp256, ecdh-sha2-nistp384, ecdh-sha2-nistp521, diffie-hellman-group14-sha256, diffie-hellman-group14-sha1**:对于内置 SSH 服务器,选择支持的 SSH 连接的密钥交换算法,对于系统 SSH,此设置无效。 +- `SSH_SERVER_MACS`: **hmac-sha2-256-etm@openssh.com, hmac-sha2-256, hmac-sha1**:对于内置 SSH 服务器,选择支持的 SSH 连接的 MAC 算法,对于系统 SSH,此设置无效。 +- `SSH_SERVER_HOST_KEYS`: **ssh/gitea.rsa, ssh/gogs.rsa**:对于内置 SSH 服务器,选择要提供为主机密钥的密钥对。私钥应在 `SSH_SERVER_HOST_KEY` 中,公钥在 `SSH_SERVER_HOST_KEY.pub` 中。相对路径会相对于 `APP_DATA_PATH` 转为绝对路径。如果不存在密钥,将为您创建一个 4096 位的 RSA 密钥。 +- `SSH_KEY_TEST_PATH`: **/tmp**:在使用 `ssh-keygen` 测试公共 SSH 密钥时要在其中创建临时文件的目录,默认为系统临时目录。 +- `SSH_KEYGEN_PATH`: **_empty_**:使用 `ssh-keygen` 解析公共 SSH 密钥。该值将传递给 shell。默认情况下,Gitea 会自行进行解析。 +- `SSH_EXPOSE_ANONYMOUS`: **false**:启用将 SSH 克隆 URL 暴露给匿名访问者,默认为 false。 +- `SSH_PER_WRITE_TIMEOUT`: **30s**:对 SSH 连接的任何写入设置超时。(将其设置为 -1 可以禁用所有超时。) +- `SSH_PER_WRITE_PER_KB_TIMEOUT`: **10s**:对写入 SSH 连接的每 KB 设置超时。 +- `MINIMUM_KEY_SIZE_CHECK`: **true**:指示是否检查最小密钥大小与相应类型。 +- `OFFLINE_MODE`: **false**:禁用 CDN 用于静态文件和 Gravatar 用于个人资料图片。 +- `CERT_FILE`: **https/cert.pem**:用于 HTTPS 的证书文件路径。在链接时,服务器证书必须首先出现,然后是中间 CA 证书(如果有)。如果 `ENABLE_ACME=true`,则此设置会被忽略。路径相对于 `CUSTOM_PATH`。 +- `KEY_FILE`: **https/key.pem**:用于 HTTPS 的密钥文件路径。如果 `ENABLE_ACME=true`,则此设置会被忽略。路径相对于 `CUSTOM_PATH`。 +- `STATIC_ROOT_PATH`: **_`StaticRootPath`_**:模板和静态文件路径的上一级。 +- `APP_DATA_PATH`: **data**(在 Docker 上为 **/data/gitea**):应用程序数据的默认路径。相对路径会相对于 _`AppWorkPath`_ 转为绝对路径。 +- `STATIC_CACHE_TIME`: **6h**:对 `custom/`、`public/` 和所有上传的头像的静态资源的 Web 浏览器缓存时间。请注意,在 `RUN_MODE` 为 "dev" 时,此缓存会被禁用。 +- `ENABLE_GZIP`: **false**:为运行时生成的内容启用 gzip 压缩,静态资源除外。 +- `ENABLE_PPROF`: **false**:应用程序分析(内存和 CPU)。对于 "web" 命令,它会在 `localhost:6060` 上监听。对于 "serv" 命令,它会将数据转储到磁盘上的 `PPROF_DATA_PATH` 中,文件名为 `(cpuprofile|memprofile)__`。 +- `PPROF_DATA_PATH`: **_`AppWorkPath`_/data/tmp/pprof**:`PPROF_DATA_PATH`,当您将 Gitea 作为服务启动时,请使用绝对路径。 +- `LANDING_PAGE`: **home**:未经身份验证用户的登录页面 \[home, explore, organizations, login, **custom**]。其中 custom 可以是任何 URL,例如 "/org/repo" 或甚至是 `https://anotherwebsite.com`。 +- `LFS_START_SERVER`: **false**:启用 Git LFS 支持。 +- `LFS_CONTENT_PATH`: **%(APP_DATA_PATH)s/lfs**:默认的 LFS 内容路径(如果它在本地存储中)。**已弃用**,请使用 `[lfs]` 中的设置。 +- `LFS_JWT_SECRET`: **_empty_**:LFS 身份验证密钥,将其更改为唯一的字符串。 +- `LFS_JWT_SECRET_URI`: **_empty_**:代替在配置中定义 LFS_JWT_SECRET,可以使用此配置选项为 Gitea 提供包含密钥的文件的路径(示例值:`file:/etc/gitea/lfs_jwt_secret`)。 +- `LFS_HTTP_AUTH_EXPIRY`: **24h**:LFS 身份验证的有效期,以 time.Duration 表示,超过此期限的推送可能会失败。 +- `LFS_MAX_FILE_SIZE`: **0**:允许的最大 LFS 文件大小(以字节为单位,设置为 0 为无限制)。 +- `LFS_LOCKS_PAGING_NUM`: **50**:每页返回的最大 LFS 锁定数。 +- `REDIRECT_OTHER_PORT`: **false**:如果为 true 并且 `PROTOCOL` 为 https,则允许将 http 请求重定向到 Gitea 监听的 https 端口的 `PORT_TO_REDIRECT`。 +- `REDIRECTOR_USE_PROXY_PROTOCOL`: **%(USE_PROXY_PROTOCOL)s**:在连接到 https 重定向器时,需要 PROXY 协议头。 +- `PORT_TO_REDIRECT`: **80**:http 重定向服务监听的端口。当 `REDIRECT_OTHER_PORT` 为 true 时使用。 +- `SSL_MIN_VERSION`: **TLSv1.2**:设置最低支持的 SSL 版本。 +- `SSL_MAX_VERSION`: **_empty_**:设置最大支持的 SSL 版本。 +- `SSL_CURVE_PREFERENCES`: **X25519,P256**:设置首选的曲线。 +- `SSL_CIPHER_SUITES`: **ecdhe_ecdsa_with_aes_256_gcm_sha384,ecdhe_rsa_with_aes_256_gcm_sha384,ecdhe_ecdsa_with_aes_128_gcm_sha256,ecdhe_rsa_with_aes_128_gcm_sha256,ecdhe_ecdsa_with_chacha20_poly1305,ecdhe_rsa_with_chacha20_poly1305**:设置首选的密码套件。 + - 如果没有对 AES 套件的硬件支持,默认情况下,ChaCha 套件将优先于 AES 套件。 + - 根据 Go 1.18 的支持的套件有: + - TLS 1.0 - 1.2 套件 + - "rsa_with_rc4_128_sha" + - "rsa_with_3des_ede_cbc_sha" + - "rsa_with_aes_128_cbc_sha" + - "rsa_with_aes_256_cbc_sha" + - "rsa_with_aes_128_cbc_sha256" + - "rsa_with_aes_128_gcm_sha256" + - "rsa_with_aes_256_gcm_sha384" + - "ecdhe_ecdsa_with_rc4_128_sha" + - "ecdhe_ecdsa_with_aes_128_cbc_sha" + - "ecdhe_ecdsa_with_aes_256_cbc_sha" + - "ecdhe_rsa_with_rc4_128_sha" + - "ecdhe_rsa_with_3des_ede_cbc_sha" + - "ecdhe_rsa_with_aes_128_cbc_sha" + - "ecdhe_rsa_with_aes_256_cbc_sha" + - "ecdhe_ecdsa_with_aes_128_cbc_sha256" + - "ecdhe_rsa_with_aes_128_cbc_sha256" + - "ecdhe_rsa_with_aes_128_gcm_sha256" + - "ecdhe_ecdsa_with_aes_128_gcm_sha256" + - "ecdhe_rsa_with_aes_256_gcm_sha384" + - "ecdhe_ecdsa_with_aes_256_gcm_sha384" + - "ecdhe_rsa_with_chacha20_poly1305_sha256" + - "ecdhe_ecdsa_with_chacha20_poly1305_sha256" + - TLS 1.3 套件 + - "aes_128_gcm_sha256" + - "aes_256_gcm_sha384" + - "chacha20_poly1305_sha256" + - 别名 + - "ecdhe_rsa_with_chacha20_poly1305" 是 "ecdhe_rsa_with_chacha20_poly1305_sha256" 的别名 + - "ecdhe_ecdsa_with_chacha20_poly1305" 是 "ecdhe_ecdsa_with_chacha20_poly1305_sha256" 的别名 +- `ENABLE_ACME`: **false**:通过 ACME 能力的证书颁发机构(CA)服务器(默认为 Let's Encrypt)启用自动证书管理的标志。如果启用,将忽略 `CERT_FILE` 和 `KEY_FILE`,并且 CA 必须将 `DOMAIN` 解析为此 Gitea 服务器。确保设置了 DNS 记录,并且端口 `80` 或端口 `443` 可以被 CA 服务器访问(默认情况下是公共互联网),并重定向到相应的端口 `PORT_TO_REDIRECT` 或 `HTTP_PORT`。 +- `ACME_URL`: **_empty_**:CA 的 ACME 目录 URL,例如自托管的 [smallstep CA 服务器](https://github.com/smallstep/certificates),它可以是 `https://ca.example.com/acme/acme/directory`。如果留空,默认使用 Let's Encrypt 的生产 CA(还要检查 `LETSENCRYPT_ACCEPTTOS`)。 +- `ACME_ACCEPTTOS`: **false**:这是一个明确的检查,您是否接受 ACME 提供者的服务条款。默认为 Let's Encrypt 的 [服务条款](https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf)。 +- `ACME_DIRECTORY`: **https**:证书管理器用于缓存证书和私钥等信息的目录。 +- `ACME_EMAIL`: **_empty_**:用于 ACME 注册的电子邮件。通常用于通知有关已颁发的证书的问题。 +- `ACME_CA_ROOT`: **_empty_**:CA 的根证书。如果留空,默认使用系统的信任链。 +- `ALLOW_GRACEFUL_RESTARTS`: **true**:在 SIGHUP 时执行优雅重启。 +- `GRACEFUL_HAMMER_TIME`: **60s**:在重新启动后,父进程将停止接受新连接,并允许请求在停止之前完成。如果耗时超过此时间,则会强制关闭关闭。 +- `STARTUP_TIMEOUT`: **0**:如果启动超过提供的时间,将关闭服务器。在 Windows 上设置这将向 SVC 主机发送一个等待提示,告诉 SVC 主机启动可能需要一些时间。请注意,启动由监听器(HTTP/HTTPS/SSH)的打开来确定。索引程序可能需要更长时间启动,可能具有自己的超时时间。 + +## 数据库 (`database`) + +- `DB_TYPE`: **mysql**:数据库类型 \[mysql, postgres, mssql, sqlite3\]。 +- `HOST`: **127.0.0.1:3306**:数据库主机地址和端口或unix套接字的绝对路径 \[mysql, postgres\](例如:/var/run/mysqld/mysqld.sock)。 +- `NAME`: **gitea**:数据库名称。 +- `USER`: **root**:数据库用户名。 +- `PASSWD`: **_empty_**:数据库密码。如果密码包含特殊字符,请使用 \`your password\` 或 """your password"""。 +- `SCHEMA`: **_empty_**:对于 PostgreSQL,如果与 "public" 不同的模式。模式必须事先存在,用户必须对其具有创建特权,并且用户搜索路径必须设置为首先查找模式(例如 `ALTER USER user SET SEARCH_PATH = schema_name,"$user",public;`)。 +- `SSL_MODE`: **disable**:MySQL 或 PostgreSQL 数据库是否启用 SSL 模式,仅适用于 MySQL 和 PostgreSQL。 + - MySQL 的有效值: + - `true`:启用 TLS,并针对数据库服务器证书根证书进行验证。选择此选项时,请确保用于验证数据库服务器证书的根证书(例如 CA 证书)位于数据库服务器和 Gitea 服务器的系统证书存储中。有关如何将 CA 证书添加到证书存储的说明,请参阅系统文档。 + - `false`:禁用 TLS。 + - `disable`:`false` 的别名,与 PostgreSQL 兼容。 + - `skip-verify`:启用 TLS,但不进行数据库服务器证书验证。如果数据库服务器上有自签名或无效证书,请使用此选项。 + - `prefer`:启用 TLS,并回退到非 TLS 连接。 + - PostgreSQL 的有效值: + - `disable`:禁用 TLS。 + - `require`:启用 TLS,但不进行任何验证。 + - `verify-ca`:启用 TLS,并对数据库服务器证书进行根证书验证。 + - `verify-full`:启用 TLS,并验证数据库服务器名称是否与给定的证书的 "Common Name" 或 "Subject Alternative Name" 字段匹配。 +- `SQLITE_TIMEOUT`:**500**:仅适用于 SQLite3 的查询超时。 +- `SQLITE_JOURNAL_MODE`:**""**:更改 SQlite3 的日志模式。可以用于在高负载导致写入拥塞时启用 [WAL 模式](https://www.sqlite.org/wal.html)。有关可能的值,请参阅 [SQlite3 文档](https://www.sqlite.org/pragma.html#pragma_journal_mode)。默认为数据库文件的默认值,通常为 DELETE。 +- `ITERATE_BUFFER_SIZE`:**50**:用于迭代的内部缓冲区大小。 +- `PATH`:**data/gitea.db**:仅适用于 SQLite3 的数据库文件路径。 +- `LOG_SQL`:**true**:记录已执行的 SQL。 +- `DB_RETRIES`:**10**:允许多少次 ORM 初始化 / DB 连接尝试。 +- `DB_RETRY_BACKOFF`:**3s**:如果发生故障,等待另一个 ORM 初始化 / DB 连接尝试的 time.Duration。 +- `MAX_OPEN_CONNS`:**0**:数据库最大打开连接数 - 默认为 0,表示没有限制。 +- `MAX_IDLE_CONNS`:**2**:连接池上的最大空闲数据库连接数,默认为 2 - 这将限制为 `MAX_OPEN_CONNS`。 +- `CONN_MAX_LIFETIME`:**0 或 3s**:设置 DB 连接可以重用的最长时间 - 默认为 0,表示没有限制(除了 MySQL,其中为 3s - 请参见 #6804 和 #7071)。 +- `AUTO_MIGRATION`:**true**:是否自动执行数据库模型迁移。 + +请参见 #8540 和 #8273 以获取有关 `MAX_OPEN_CONNS`、`MAX_IDLE_CONNS` 和 `CONN_MAX_LIFETIME` 的适当值及其与端口耗尽的关系的进一步讨论。 + +## 索引 (`indexer`) + +- `ISSUE_INDEXER_TYPE`: **bleve**:工单索引类型,当前支持:`bleve`、`db`、`elasticsearch` 或 `meilisearch`。 +- `ISSUE_INDEXER_CONN_STR`:****:工单索引连接字符串,仅适用于 elasticsearch 和 meilisearch(例如:http://elastic:password@localhost:9200)或者(例如:http://:apikey@localhost:7700)。 +- `ISSUE_INDEXER_NAME`:**gitea_issues**:工单索引器名称,在 ISSUE_INDEXER_TYPE 为 elasticsearch 或 meilisearch 时可用。 +- `ISSUE_INDEXER_PATH`:**indexers/issues.bleve**:用于工单搜索的索引文件;在 ISSUE_INDEXER_TYPE 为 bleve 和 elasticsearch 时可用。相对路径将相对于 _`AppWorkPath`_ 进行绝对路径化。 + +- `REPO_INDEXER_ENABLED`:**false**:启用代码搜索(占用大量磁盘空间,约为存储库大小的 6 倍)。 +- `REPO_INDEXER_REPO_TYPES`:**sources,forks,mirrors,templates**:存储库索引器单元。要索引的项目可以是 `sources`、`forks`、`mirrors`、`templates` 或它们的任何组合,用逗号分隔。如果为空,则默认为仅 `sources`,如果要完全禁用,请参见 `REPO_INDEXER_ENABLED`。 +- `REPO_INDEXER_TYPE`:**bleve**:代码搜索引擎类型,可以为 `bleve` 或者 `elasticsearch`。 +- `REPO_INDEXER_PATH`:**indexers/repos.bleve**:用于代码搜索的索引文件。 +- `REPO_INDEXER_CONN_STR`:****:代码索引器连接字符串,在 `REPO_INDEXER_TYPE` 为 elasticsearch 时可用。例如:http://elastic:password@localhost:9200 +- `REPO_INDEXER_NAME`:**gitea_codes**:代码索引器名称,在 `REPO_INDEXER_TYPE` 为 elasticsearch 时可用。 + +- `REPO_INDEXER_INCLUDE`:**empty**:逗号分隔的 glob 模式列表(参见 https://github.com/gobwas/glob)以用于**包括**在索引中。使用 `**.txt` 匹配任何具有 .txt 扩展名的文件。空列表表示包括所有文件。 +- `REPO_INDEXER_EXCLUDE`:**empty**:逗号分隔的 glob 模式列表(参见 https://github.com/gobwas/glob)以用于**排除**在索引中。即使在 `REPO_INDEXER_INCLUDE` 中匹配,也不会索引与此列表匹配的文件。 +- `REPO_INDEXER_EXCLUDE_VENDORED`:**true**:从索引中排除 vendored 文件。 +- `MAX_FILE_SIZE`:**1048576**:要索引的文件的最大字节数。 +- `STARTUP_TIMEOUT`:**30s**:如果索引器启动时间超过此超时时间 - 则失败。(此超时时间将添加到上面的锤子时间中,用于子进程 - 因为 bleve 不会在上一个父进程关闭之前启动)。设置为 -1 表示永不超时。 + +## 队列 (`queue` and `queue.*`) + +[queue] 配置在 `[queue.*]` 下为各个队列设置默认值,并允许为各个队列设置单独的配置覆盖。(不过请参见下文。) + +- `TYPE`:**level**:通用队列类型,当前支持:`level`(在内部使用 LevelDB)、`channel`、`redis`、`dummy`。无效的类型将视为 `level`。 +- `DATADIR`:**queues/common**:用于存储 level 队列的基本 DataDir。单独的队列的 `DATADIR` 可以在 `queue.name` 部分进行设置。相对路径将根据 `%(APP_DATA_PATH)s` 变为绝对路径。 +- `LENGTH`:**100**:通道队列阻塞之前的最大队列大小 +- `BATCH_LENGTH`:**20**:在传递给处理程序之前批处理数据 +- `CONN_STR`:**redis://127.0.0.1:6379/0**:redis 队列类型的连接字符串。对于 `redis-cluster`,使用 `redis+cluster://127.0.0.1:6379/0`。可以使用查询参数来设置选项。类似地,LevelDB 选项也可以使用:**leveldb://relative/path?option=value** 或 **leveldb:///absolute/path?option=value** 进行设置,并将覆盖 `DATADIR`。 +- `QUEUE_NAME`:**_queue**:默认的 redis 和磁盘队列名称的后缀。单独的队列将默认为 **`name`**`QUEUE_NAME`,但可以在特定的 `queue.name` 部分中进行覆盖。 +- `SET_NAME`:**_unique**:将添加到默认的 redis 和磁盘队列 `set` 名称中以用于唯一队列的后缀。单独的队列将默认为 **`name`**`QUEUE_NAME`_`SET_NAME`_,但可以在特定的 `queue.name` 部分中进行覆盖。 +- `MAX_WORKERS`:**(dynamic)**:队列的最大工作协程数。默认值为 "CpuNum/2",限制在 1 到 10 之间。 + +Gitea 创建以下非唯一队列: + +- `code_indexer` +- `issue_indexer` +- `notification-service` +- `task` +- `mail` +- `push_update` + +以及以下唯一队列: + +- `repo_stats_update` +- `repo-archive` +- `mirror` +- `pr_patch_checker` + +## Admin (`admin`) + +- `DEFAULT_EMAIL_NOTIFICATIONS`: **enabled**:用户电子邮件通知的默认配置(用户可配置)。选项:enabled、onmention、disabled +- `DISABLE_REGULAR_ORG_CREATION`: **false**:禁止普通(非管理员)用户创建组织。 + +## 安全性 (`security`) + +- `INSTALL_LOCK`: **false**:控制是否能够访问安装向导页面,设置为 `true` 则禁止访问安装向导页面。 +- `SECRET_KEY`: **\<每次安装时随机生成\>**:全局服务器安全密钥。这个密钥非常重要,如果丢失将无法解密加密的数据(例如 2FA)。 +- `SECRET_KEY_URI`: **_empty_**:与定义 `SECRET_KEY` 不同,此选项可用于使用存储在文件中的密钥(示例值:`file:/etc/gitea/secret_key`)。它不应该像 `SECRET_KEY` 一样容易丢失。 +- `LOGIN_REMEMBER_DAYS`: **7**:Cookie 保存时间,单位为天。 +- `COOKIE_USERNAME`: **gitea\_awesome**:保存用户名的 Cookie 名称。 +- `COOKIE_REMEMBER_NAME`: **gitea\_incredible**:保存自动登录信息的 Cookie 名称。 +- `REVERSE_PROXY_AUTHENTICATION_USER`: **X-WEBAUTH-USER**:反向代理认证的 HTTP 头部名称,用于提供用户信息。 +- `REVERSE_PROXY_AUTHENTICATION_EMAIL`: **X-WEBAUTH-EMAIL**:反向代理认证的 HTTP 头部名称,用于提供邮箱信息。 +- `REVERSE_PROXY_AUTHENTICATION_FULL_NAME`: **X-WEBAUTH-FULLNAME**:反向代理认证的 HTTP 头部名称,用于提供全名信息。 +- `REVERSE_PROXY_LIMIT`: **1**:解释 X-Forwarded-For 标头或 X-Real-IP 标头,并将其设置为请求的远程 IP。 + 可信代理计数。设置为零以不使用这些标头。 +- `REVERSE_PROXY_TRUSTED_PROXIES`: **127.0.0.0/8,::1/128**:逗号分隔的受信任代理服务器的 IP 地址和网络列表。使用 `*` 来信任全部。 +- `DISABLE_GIT_HOOKS`: **true**:设置为 `false` 以允许具有 Git 钩子权限的用户创建自定义 Git 钩子。 + 警告:自定义 Git 钩子可用于在主机操作系统上执行任意代码。这允许用户访问和修改此配置文件和 Gitea 数据库,并中断 Gitea 服务。 + 通过修改 Gitea 数据库,用户可以获得 Gitea 管理员权限。 + 它还使他们可以访问正在运行 Gitea 实例的操作系统上用户可用的其他资源,并以 Gitea 操作系统用户的名义执行任意操作。 + 这可能对您的网站或操作系统造成危害。 + 在必要之前,请在更改现有 git 存储库中的钩子之前进行调整。 +- `DISABLE_WEBHOOKS`: **false**:设置为 `true` 以禁用 Webhooks 功能。 +- `ONLY_ALLOW_PUSH_IF_GITEA_ENVIRONMENT_SET`: **true**:设置为 `false` 以允许本地用户在未设置 Gitea 环境的情况下推送到 Gitea 存储库。不建议这样做,如果您希望本地用户推送到 Gitea 存储库,应该适当地设置环境。 +- `IMPORT_LOCAL_PATHS`: **false**:设置为 `false` 以防止所有用户(包括管理员)从服务器上导入本地路径。 +- `INTERNAL_TOKEN`: **\<每次安装时随机生成,如果未设置 URI\>**:用于验证 Gitea 二进制文件内部通信的密钥。 +- `INTERNAL_TOKEN_URI`: **_empty_**:与在配置中定义 `INTERNAL_TOKEN` 不同,此配置选项可用于将包含内部令牌的文件的路径提供给 Gitea(示例值:`file:/etc/gitea/internal_token`)。 +- `PASSWORD_HASH_ALGO`: **pbkdf2**:要使用的哈希算法 \[argon2、pbkdf2、pbkdf2_v1、pbkdf2_hi、scrypt、bcrypt\],argon2 和 scrypt 将消耗大量内存。 + - 注意:`pbkdf2` 哈希的默认参数已更改 - 先前的设置可作为 `pbkdf2_v1` 使用,但不建议使用。 + - 可以通过在算法后使用 `$` 进行调整: + - `argon2$