You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

config-cheat-sheet.zh-cn.md 12KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247
  1. ---
  2. date: "2016-12-26T16:00:00+02:00"
  3. title: "配置说明"
  4. slug: "config-cheat-sheet"
  5. weight: 20
  6. toc: false
  7. draft: false
  8. menu:
  9. sidebar:
  10. parent: "advanced"
  11. name: "配置说明"
  12. weight: 20
  13. identifier: "config-cheat-sheet"
  14. ---
  15. # 配置说明
  16. 这是针对Gitea配置文件的说明,你可以了解Gitea的强大配置。需要说明的是,你的所有改变请修改 `custom/conf/app.ini` 文件而不是源文件。所有默认值可以通过 [app.ini.sample](https://github.com/go-gitea/gitea/blob/master/custom/conf/app.ini.sample) 查看到。如果你发现 `%(X)s` 这样的内容,请查看 [ini](https://github.com/go-ini/ini/#recursive-values) 这里的说明。标注了 :exclamation: 的配置项表明除非你真的理解这个配置项的意义,否则最好使用默认值。
  17. ## Overall (`DEFAULT`)
  18. - `APP_NAME`: 应用名称,改成你希望的名字。
  19. - `RUN_USER`: 运行Gitea的用户,推荐使用 `git`;如果在你自己的个人电脑使用改成你自己的用户名。如果设置不正确,Gitea可能崩溃。
  20. - `RUN_MODE`: 从性能考虑,如果在产品级的服务上改成 `prod`。如果您使用安装向导安装的那么会自动设置为 `prod`。
  21. ## Repository (`repository`)
  22. - `ROOT`: 存放git工程的根目录。这里必须填绝对路径,默认值是 `~/<username>/gitea-repositories`。
  23. - `SCRIPT_TYPE`: 服务器支持的Shell类型,通常是 `bash`,但有些服务器也有可能是 `sh`。
  24. - `ANSI_CHARSET`: 默认字符编码。
  25. - `FORCE_PRIVATE`: 强制所有git工程必须私有。
  26. - `DEFAULT_PRIVATE`: 默认创建的git工程为私有。 可以是`last`, `private` 或 `public`。默认值是 `last`表示用户最后创建的Repo的选择。
  27. - `MAX_CREATION_LIMIT`: 全局最大每个用户创建的git工程数目, `-1` 表示没限制。
  28. - `PULL_REQUEST_QUEUE_LENGTH`: 小心:合并请求测试队列的长度,尽量放大。
  29. ## UI (`ui`)
  30. - `EXPLORE_PAGING_NUM`: 探索页面每页显示的仓库数量。
  31. - `ISSUE_PAGING_NUM`: 工单页面每页显示的工单数量。
  32. - `FEED_MAX_COMMIT_NUM`: 活动流页面显示的最大提交树木。
  33. ### UI - Admin (`ui.admin`)
  34. - `USER_PAGING_NUM`: 用户管理页面每页显示的用户数量。
  35. - `REPO_PAGING_NUM`: 仓库管理页面每页显示的仓库数量。
  36. - `NOTICE_PAGING_NUM`: 系统提示页面每页显示的提示数量。
  37. - `ORG_PAGING_NUM`: 组织管理页面每页显示的组织数量。
  38. ## Markdown (`markdown`)
  39. - `ENABLE_HARD_LINE_BREAK`: 是否启用硬换行扩展。
  40. ## Server (`server`)
  41. - `PROTOCOL`: 可选 `http` 或 `https`。
  42. - `DOMAIN`: 服务器域名。
  43. - `ROOT_URL`: Gitea服务器的对外 URL。
  44. - `HTTP_ADDR`: HTTP 监听地址。
  45. - `HTTP_PORT`: HTTP 监听端口。
  46. - `DISABLE_SSH`: 是否禁用SSH。
  47. - `START_SSH_SERVER`: 是否启用内部SSH服务器。
  48. - `SSH_PORT`: SSH端口,默认为 `22`。
  49. - `OFFLINE_MODE`: 针对静态和头像文件禁用 CDN。
  50. - `DISABLE_ROUTER_LOG`: 关闭日志中的路由日志。
  51. - `CERT_FILE`: 启用HTTPS的证书文件。
  52. - `KEY_FILE`: 启用HTTPS的密钥文件。
  53. - `STATIC_ROOT_PATH`: 存放模板和静态文件的根目录,默认是 Gitea 的根目录。
  54. - `ENABLE_GZIP`: 启用应用级别的 GZIP 压缩。
  55. - `LANDING_PAGE`: 未登录用户的默认页面,可选 `home` 或 `explore`。
  56. - `LFS_START_SERVER`: 是否启用 git-lfs 支持. 可以为 `true` 或 `false`, 默认是 `false`。
  57. - `LFS_CONTENT_PATH`: 存放 lfs 命令上传的文件的地方,默认是 `data/lfs`。
  58. - `LFS_JWT_SECRET`: LFS 认证密钥,改成自己的。
  59. ## Database (`database`)
  60. - `DB_TYPE`: 数据库类型,可选 `mysql`, `postgres`, `mssql`, `tidb` 或 `sqlite3`。
  61. - `HOST`: 数据库服务器地址和端口。
  62. - `NAME`: 数据库名称。
  63. - `USER`: 数据库用户名。
  64. - `PASSWD`: 数据库用户密码。
  65. - `SSL_MODE`: MySQL 或 PostgreSQL数据库是否启用SSL模式。
  66. - `CHARSET`: **utf8**: 仅当数据库为 MySQL 时有效, 可以为 "utf8" 或 "utf8mb4"。注意:如果使用 "utf8mb4",你的 MySQL InnoDB 版本必须在 5.6 以上。
  67. - `PATH`: Tidb 或者 SQLite3 数据文件存放路径。
  68. - `LOG_SQL`: **true**: 显示生成的SQL,默认为真。
  69. ## Indexer (`indexer`)
  70. - `ISSUE_INDEXER_TYPE`: **bleve**: 工单索引类型,当前支持 `bleve` 或 `db`,当为 `db` 时其它工单索引项可不用设置。
  71. - `ISSUE_INDEXER_PATH`: **indexers/issues.bleve**: 工单索引文件存放路径,当索引类型为 `bleve` 时有效。
  72. - `ISSUE_INDEXER_QUEUE_TYPE`: **levelqueue**: 工单索引队列类型,当前支持 `channel`, `levelqueue` 或 `redis`。
  73. - `ISSUE_INDEXER_QUEUE_DIR`: **indexers/issues.queue**: 当 `ISSUE_INDEXER_QUEUE_TYPE` 为 `levelqueue` 时,保存索引队列的磁盘路径。
  74. - `ISSUE_INDEXER_QUEUE_CONN_STR`: **addrs=127.0.0.1:6379 db=0**: 当 `ISSUE_INDEXER_QUEUE_TYPE` 为 `redis` 时,保存Redis队列的连接字符串。
  75. - `ISSUE_INDEXER_QUEUE_BATCH_NUMBER`: **20**: 队列处理中批量提交数量。
  76. - `REPO_INDEXER_ENABLED`: **false**: 是否启用代码搜索(启用后会占用比较大的磁盘空间)。
  77. - `REPO_INDEXER_PATH`: **indexers/repos.bleve**: 用于代码搜索的索引文件路径。
  78. - `UPDATE_BUFFER_LEN`: **20**: 代码索引请求的缓冲区长度。
  79. - `MAX_FILE_SIZE`: **1048576**: 进行解析的源代码文件的最大长度,小于该值时才会索引。
  80. ## Security (`security`)
  81. - `INSTALL_LOCK`: 是否允许运行安装向导,(跟管理员账号有关,十分重要)。
  82. - `SECRET_KEY`: 全局服务器安全密钥 **最好改成你自己的** (当你运行安装向导的时候会被设置为一个随机值)。
  83. - `LOGIN_REMEMBER_DAYS`: Cookie 保存时间,单位天。
  84. - `COOKIE_USERNAME`: 保存用户名的 cookie 名称。
  85. - `COOKIE_REMEMBER_NAME`: 保存自动登录信息的 cookie 名称。
  86. - `REVERSE_PROXY_AUTHENTICATION_USER`: 反向代理认证的 HTTP 头名称。
  87. ## Service (`service`)
  88. - `ACTIVE_CODE_LIVE_MINUTES`: 登陆验证码失效时间,单位分钟。
  89. - `RESET_PASSWD_CODE_LIVE_MINUTES`: 重置密码失效时间,单位分钟。
  90. - `REGISTER_EMAIL_CONFIRM`: 启用注册邮件激活,前提是 `Mailer` 已经启用。
  91. - `DISABLE_REGISTRATION`: 禁用注册,启用后只能用管理员添加用户。
  92. - `SHOW_REGISTRATION_BUTTON`: 是否显示注册按钮。
  93. - `REQUIRE_SIGNIN_VIEW`: 是否所有页面都必须登录后才可访问。
  94. - `ENABLE_CACHE_AVATAR`: 是否缓存来自 Gravatar 的头像。
  95. - `ENABLE_NOTIFY_MAIL`: 是否发送工单创建等提醒邮件,需要 `Mailer` 被激活。
  96. - `ENABLE_REVERSE_PROXY_AUTHENTICATION`: 允许反向代理认证,更多细节见:https://github.com/gogits/gogs/issues/165
  97. - `ENABLE_REVERSE_PROXY_AUTO_REGISTRATION`: 允许通过反向认证做自动注册。
  98. - `ENABLE_CAPTCHA`: 注册时使用图片验证码。
  99. ## Webhook (`webhook`)
  100. - `QUEUE_LENGTH`: 说明: Hook 任务队列长度。
  101. - `DELIVER_TIMEOUT`: 请求webhooks的超时时间,单位秒。
  102. - `SKIP_TLS_VERIFY`: 是否允许不安全的证书。
  103. - `PAGING_NUM`: 每页显示的Webhook 历史数量。
  104. ## Mailer (`mailer`)
  105. - `ENABLED`: 是否启用邮件服务。
  106. - `DISABLE_HELO`: 禁用 HELO 命令。
  107. - `HELO_HOSTNAME`: 自定义主机名来回应 HELO 命令。
  108. - `HOST`: SMTP 主机地址和端口 (例如:smtp.gitea.io:587)。
  109. - `FROM`: 邮件发送地址,RFC 5322. 这里可以填一个邮件地址或者 "Name" \<email@example.com\> 格式。
  110. - `USER`: 用户名(通常就是邮件地址)。
  111. - `PASSWD`: 密码。
  112. - `SKIP_VERIFY`: 忽略证书验证。
  113. 说明:实际上 Gitea 仅仅支持基于 STARTTLS 的 SMTP。
  114. ## Cache (`cache`)
  115. - `ADAPTER`: 缓存引擎,可以为 `memory`, `redis` 或 `memcache`。
  116. - `INTERVAL`: 只对内存缓存有效,GC间隔,单位秒。
  117. - `HOST`: 针对redis和memcache有效,主机地址和端口。
  118. - Redis: `network=tcp,addr=127.0.0.1:6379,password=macaron,db=0,pool_size=100,idle_timeout=180`
  119. - Memache: `127.0.0.1:9090;127.0.0.1:9091`
  120. ## Session (`session`)
  121. - `PROVIDER`: Session 内容存储方式,可选 `memory`, `file`, `redis` 或 `mysql`。
  122. - `PROVIDER_CONFIG`: 如果是文件,那么这里填根目录;其他的要填主机地址和端口。
  123. - `COOKIE_SECURE`: 强制使用 HTTPS 作为session访问。
  124. - `GC_INTERVAL_TIME`: Session失效时间。
  125. ## Picture (`picture`)
  126. - `GRAVATAR_SOURCE`: 头像来源,可以是 `gravatar`, `duoshuo` 或者类似 `http://cn.gravatar.com/avatar/` 的来源
  127. - `DISABLE_GRAVATAR`: 开启则只使用内部头像。
  128. - `ENABLE_FEDERATED_AVATAR`: 启用头像联盟支持 (参见 http://www.libravatar.org)
  129. ## Attachment (`attachment`)
  130. - `ENABLED`: 是否允许用户上传附件。
  131. - `PATH`: 附件存储路径
  132. - `ALLOWED_TYPES`: 允许上传的附件类型。比如:`image/jpeg|image/png`,用 `*/*` 表示允许任何类型。
  133. - `MAX_SIZE`: 附件最大限制,单位 MB,比如: `4`。
  134. - `MAX_FILES`: 一次最多上传的附件数量,比如: `5`。
  135. ## Log (`log`)
  136. - `ROOT_PATH`: 日志文件根目录。
  137. - `MODE`: 日志记录模式,默认是为 `console`。如果要写到多个通道,用逗号分隔
  138. - `LEVEL`: 日志级别,默认为`Trace`。
  139. ## Cron (`cron`)
  140. - `ENABLED`: 是否在后台运行定期任务。
  141. - `RUN_AT_START`: 是否启动时自动运行。
  142. ### Cron - Update Mirrors (`cron.update_mirrors`)
  143. - `SCHEDULE`: 自动同步镜像仓库的Cron语法,比如:`@every 1h`。
  144. ### Cron - Repository Health Check (`cron.repo_health_check`)
  145. - `SCHEDULE`: 仓库健康监测的Cron语法,比如:`@every 24h`。
  146. - `TIMEOUT`: 仓库健康监测的超时时间,比如:`60s`.
  147. - `ARGS`: 执行 `git fsck` 命令的参数,比如:`--unreachable --tags`。
  148. ### Cron - Repository Statistics Check (`cron.check_repo_stats`)
  149. - `RUN_AT_START`: 是否启动时自动运行仓库统计。
  150. - `SCHEDULE`: 藏亏统计时的Cron 语法,比如:`@every 24h`.
  151. ## Git (`git`)
  152. - `MAX_GIT_DIFF_LINES`: 比较视图中,一个文件最多显示行数。
  153. - `MAX_GIT_DIFF_LINE_CHARACTERS`: 比较视图中一行最大字符数。
  154. - `MAX_GIT_DIFF_FILES`: 比较视图中的最大现实文件数目。
  155. - `GC_ARGS`: 执行 `git gc` 命令的参数, 比如: `--aggressive --auto`。
  156. ## Git - 超时设置 (`git.timeout`)
  157. - `DEFAUlT`: **360**: Git操作默认超时时间,单位秒
  158. - `MIGRATE`: **600**: 迁移外部仓库时的超时时间,单位秒
  159. - `MIRROR`: **300**: 镜像外部仓库的超时时间,单位秒
  160. - `CLONE`: **300**: 内部仓库间克隆的超时时间,单位秒
  161. - `PULL`: **300**: 内部仓库间拉取的超时时间,单位秒
  162. - `GC`: **60**: git仓库GC的超时时间,单位秒
  163. - `ENABLE_AUTO_GIT_WIRE_PROTOCOL`: **true**: 是否根据 Git Wire Protocol协议支持情况自动切换版本,当 git 版本在 2.18 及以上时会自动切换到版本2。为 `false` 则不切换。
  164. ## API (`api`)
  165. - `ENABLE_SWAGGER`: **true**: 是否启用swagger路由 /api/swagger, /api/v1/swagger etc. endpoints. True 或 false; 默认是 true.
  166. - `MAX_RESPONSE_ITEMS`: **50**: 一个页面最大的项目数。
  167. - `DEFAULT_PAGING_NUM`: **30**: API中默认分页条数。
  168. - `DEFAULT_GIT_TREES_PER_PAGE`: **1000**: GIT TREES API每页的默认最大项数.
  169. - `DEFAULT_MAX_BLOB_SIZE`: **10485760**: BLOBS API默认最大大小.
  170. ## Markup (`markup`)
  171. 外部渲染工具支持,你可以用你熟悉的文档渲染工具. 比如一下将新增一个名字为 `asciidoc` 的渲染工具which is followed `markup.` ini section. And there are some config items below.
  172. ```ini
  173. [markup.asciidoc]
  174. ENABLED = false
  175. FILE_EXTENSIONS = .adoc,.asciidoc
  176. RENDER_COMMAND = "asciidoc --out-file=- -"
  177. IS_INPUT_FILE = false
  178. ```
  179. - ENABLED: 是否启用,默认为false。
  180. - FILE_EXTENSIONS: 关联的文档的扩展名,多个扩展名用都好分隔。
  181. - RENDER_COMMAND: 工具的命令行命令及参数。
  182. - IS_INPUT_FILE: 输入方式是最后一个参数为文件路径还是从标准输入读取。
  183. ## Time (`time`)
  184. - `FORMAT`: 显示在界面上的时间格式。比如: RFC1123 或者 2006-01-02 15:04:05
  185. - `DEFAULT_UI_LOCATION`: 默认显示在界面上的时区,默认为本地时区。比如: Asia/Shanghai
  186. ## Other (`other`)
  187. - `SHOW_FOOTER_BRANDING`: 为真则在页面底部显示Gitea的字样。
  188. - `SHOW_FOOTER_VERSION`: 为真则在页面底部显示Gitea的版本。