fix: add space for url (#129)

![image.png](/attachments/cb407e73-014e-41d5-be43-2571f1dfcde1)

Resolve the problem that was wrongly detected as a URL.

Co-authored-by: shugen002 <10257291+shugen002@users.noreply.github.com>
Co-authored-by: Lunny Xiao <lunny@noreply.gitea.com>
Reviewed-on: https://gitea.com/gitea/docs/pulls/129
Reviewed-by: blumia <blumia@noreply.gitea.com>
Reviewed-by: Lunny Xiao <lunny@noreply.gitea.com>
Co-authored-by: shugen <shugen@noreply.gitea.com>
Co-committed-by: shugen <shugen@noreply.gitea.com>
This commit is contained in:
shugen
2024-12-19 20:33:24 +00:00
committed by Lunny Xiao
parent 0d073f07c4
commit dc5a65d91a
5 changed files with 1393 additions and 1393 deletions

View File

@@ -289,15 +289,15 @@ aliases:
静态文件位于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 监听地址。
- `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 监听端口。
- `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/**
- `UNIX_SOCKET_PERMISSION`: **666**: Unix 套接字的权限。
- `LOCAL_ROOT_URL`: **%(PROTOCOL)s://%(HTTP_ADDR)s:%(HTTP_PORT)s/**:
用于访问网络服务的 Gitea 工作器(例如 SSH 更新的本地DMZURL。
在大多数情况下,您不需要更改默认值。
仅在您的 SSH 服务器节点与 HTTP 节点不同的情况下才修改它。对于不同的协议,默认值不同。如果 `PROTOCOL`
@@ -305,63 +305,63 @@ aliases:
`%(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 协议头。
- `LOCAL_USE_PROXY_PROTOCOL`: **%(USE_PROXY_PROTOCOL)s**: 在进行本地连接时传递 PROXY 协议头。
如果本地连接将经过代理,请将其设置为 false。
- `PER_WRITE_TIMEOUT`: **30s**连接的任何写操作的超时时间。(将其设置为 -1
- `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-<algorithm> <key>` 或 `ssh-<algorithm> <key1>, ssh-<algorithm> <key2>`。有关详细信息,请参阅 `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`: **true**禁用 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`_**模板和静态文件路径的上一级。
- `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-<algorithm> <key>` 或 `ssh-<algorithm> <key1>, ssh-<algorithm> <key2>`。有关详细信息,请参阅 `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`: **true**: 禁用 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)_<username>_<temporary id>`。
- `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 身份验证密钥,将其更改为唯一的字符串。你可以通过 Gitea 子命令来生成此字符串。转到 [Command Line](administration/command-line.md#generate)。
- `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**设置首选的密码套件。
- `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)_<username>_<temporary id>`。
- `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 身份验证密钥,将其更改为唯一的字符串。你可以通过 Gitea 子命令来生成此字符串。转到 [Command Line](administration/command-line.md#generate)。
- `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 套件
@@ -394,25 +394,25 @@ aliases:
- 别名
- "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的打开来确定。索引程序可能需要更长时间启动可能具有自己的超时时间。
- `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。
- `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。
@@ -424,52 +424,52 @@ aliases:
- `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`**false**记录已执行的 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**是否自动执行数据库模型迁移。
- `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`**false**: 记录已执行的 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`_ 进行绝对路径化。
- `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_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](https://github.com/gobwas/glob))以用于**包括**在索引中。使用 `**.txt` 匹配任何具有 .txt 扩展名的文件。空列表表示包括所有文件。
- `REPO_INDEXER_EXCLUDE`**empty**逗号分隔的 glob 模式列表(参见 [https://github.com/gobwas/glob](https://github.com/gobwas/glob))以用于**排除**在索引中。即使在 `REPO_INDEXER_INCLUDE` 中匹配,也不会索引与此列表匹配的文件。
- `REPO_INDEXER_EXCLUDE_VENDORED`**true**从索引中排除 vendored 文件。
- `MAX_FILE_SIZE`**1048576**要索引的文件的最大字节数。
- `STARTUP_TIMEOUT`**30s**如果索引器启动时间超过此超时时间 - 则失败。(此超时时间将添加到上面的锤子时间中,用于子进程 - 因为 bleve 不会在上一个父进程关闭之前启动)。设置为 -1 表示永不超时。
- `REPO_INDEXER_INCLUDE`**empty**: 逗号分隔的 glob 模式列表(参见 [https://github.com/gobwas/glob](https://github.com/gobwas/glob))以用于**包括**在索引中。使用 `**.txt` 匹配任何具有 .txt 扩展名的文件。空列表表示包括所有文件。
- `REPO_INDEXER_EXCLUDE`**empty**: 逗号分隔的 glob 模式列表(参见 [https://github.com/gobwas/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`**100000**通道队列阻塞之前的最大队列大小
- `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 之间。
- `TYPE`**level**: 通用队列类型,当前支持:`level`(在内部使用 LevelDB`channel``redis``dummy`。无效的类型将视为 `level`
- `DATADIR`**queues/common**: 用于存储 level 队列的基本 DataDir。单独的队列的 `DATADIR` 可以在 `queue.name` 部分进行设置。相对路径将根据 `%(APP_DATA_PATH)s` 变为绝对路径。
- `LENGTH`**100000**: 通道队列阻塞之前的最大队列大小
- `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 创建以下非唯一队列:
@@ -489,8 +489,8 @@ Gitea 创建以下非唯一队列:
## Admin (`admin`)
- `DEFAULT_EMAIL_NOTIFICATIONS`: **enabled**用户电子邮件通知的默认配置用户可配置。选项enabled、onmention、disabled
- `DISABLE_REGULAR_ORG_CREATION`: **false**禁止普通(非管理员)用户创建组织。
- `DEFAULT_EMAIL_NOTIFICATIONS`: **enabled**: 用户电子邮件通知的默认配置用户可配置。选项enabled、onmention、disabled
- `DISABLE_REGULAR_ORG_CREATION`: **false**: 禁止普通(非管理员)用户创建组织。
- `USER_DISABLED_FEATURES`:**_empty_** 禁用的用户特性,当前允许为空或者 `deletion``manage_ssh_keys` `manage_gpg_keys` 未来可以增加更多设置。
- `deletion`: 用户不能通过界面或者API删除他自己。
- `manage_ssh_keys`: 用户不能通过界面或者API配置SSH Keys。
@@ -498,29 +498,29 @@ Gitea 创建以下非唯一队列:
## 安全性 (`security`)
- `INSTALL_LOCK`: **false**控制是否能够访问安装向导页面,设置为 `true` 则禁止访问安装向导页面。
- `SECRET_KEY`: **\<每次安装时随机生成\>**全局服务器安全密钥。这个密钥非常重要,如果丢失将无法解密加密的数据(例如 2FA
- `SECRET_KEY_URI`: **_empty_**与定义 `SECRET_KEY` 不同,此选项可用于使用存储在文件中的密钥(示例值:`file:/etc/gitea/secret_key`)。它不应该像 `SECRET_KEY` 一样容易丢失。
- `LOGIN_REMEMBER_DAYS`: **31**在要求重新登录之前,记住用户的登录状态多长时间(以天为单位)。
- `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。
- `INSTALL_LOCK`: **false**: 控制是否能够访问安装向导页面,设置为 `true` 则禁止访问安装向导页面。
- `SECRET_KEY`: **\<每次安装时随机生成\>**: 全局服务器安全密钥。这个密钥非常重要,如果丢失将无法解密加密的数据(例如 2FA
- `SECRET_KEY_URI`: **_empty_**: 与定义 `SECRET_KEY` 不同,此选项可用于使用存储在文件中的密钥(示例值:`file:/etc/gitea/secret_key`)。它不应该像 `SECRET_KEY` 一样容易丢失。
- `LOGIN_REMEMBER_DAYS`: **31**: 在要求重新登录之前,记住用户的登录状态多长时间(以天为单位)。
- `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 钩子。
- `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 将消耗大量内存。
- `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$<time>$<memory>$<threads>$<key-length>`
@@ -536,106 +536,106 @@ Gitea 创建以下非唯一队列:
- `pbkdf2_hi``pbkdf2$320000$50`
- `scrypt``scrypt$65536$16$2$50`
- 使用此功能调整算法参数存在一定风险。
- `CSRF_COOKIE_HTTP_ONLY`: **true**设置为 false 以允许 JavaScript 读取 CSRF cookie。
- `MIN_PASSWORD_LENGTH`: **6**新用户的最小密码长度。
- `PASSWORD_COMPLEXITY`: **off**要求通过最小复杂性的字符类别的逗号分隔列表。如果留空或没有指定有效值则禁用检查off
- `CSRF_COOKIE_HTTP_ONLY`: **true**: 设置为 false 以允许 JavaScript 读取 CSRF cookie。
- `MIN_PASSWORD_LENGTH`: **6**: 新用户的最小密码长度。
- `PASSWORD_COMPLEXITY`: **off**: 要求通过最小复杂性的字符类别的逗号分隔列表。如果留空或没有指定有效值则禁用检查off
- lower - 使用一个或多个小写拉丁字符
- upper - 使用一个或多个大写拉丁字符
- digit - 使用一个或多个数字
- spec - 使用一个或多个特殊字符,如 ``!"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~``
- off - 不检查密码复杂性
- `PASSWORD_CHECK_PWN`: **false**检查密码是否在 [HaveIBeenPwned](https://haveibeenpwned.com/Passwords) 中曝光。
- `SUCCESSFUL_TOKENS_CACHE_SIZE`: **20**缓存成功的令牌哈希。API 令牌在数据库中存储为 pbkdf2 哈希,但这意味着在存在多个 API 操作时可能会有显着的哈希负载。此缓存将在 LRU 缓存中存储成功的哈希令牌,以在性能和安全性之间保持平衡。
- `PASSWORD_CHECK_PWN`: **false**: 检查密码是否在 [HaveIBeenPwned](https://haveibeenpwned.com/Passwords) 中曝光。
- `SUCCESSFUL_TOKENS_CACHE_SIZE`: **20**: 缓存成功的令牌哈希。API 令牌在数据库中存储为 pbkdf2 哈希,但这意味着在存在多个 API 操作时可能会有显着的哈希负载。此缓存将在 LRU 缓存中存储成功的哈希令牌,以在性能和安全性之间保持平衡。
## Camo (`camo`)
- `ENABLED`: **false**启用媒体代理,目前仅支持图像。
- `SERVER_URL`: **_empty_**Camo服务器的URL如果启用camo则**必填**。
- `HMAC_KEY`: **_empty_**为URL编码提供HMAC密钥如果启用camo则**必填**。
- `ALWAYS`: **false**设置为true以在HTTP和HTTPS内容上使用camo否则仅代理非HTTPS URL。`ALLWAYS` 已经过期,并且会在未来版本中删除。
- `ENABLED`: **false**: 启用媒体代理,目前仅支持图像。
- `SERVER_URL`: **_empty_**: Camo服务器的URL如果启用camo则**必填**。
- `HMAC_KEY`: **_empty_**: 为URL编码提供HMAC密钥如果启用camo则**必填**。
- `ALWAYS`: **false**: 设置为true以在HTTP和HTTPS内容上使用camo否则仅代理非HTTPS URL。`ALLWAYS` 已经过期,并且会在未来版本中删除。
## OpenID (`openid`)
- `ENABLE_OPENID_SIGNIN`: **true**允许通过OpenID进行身份验证。
- `ENABLE_OPENID_SIGNUP`: **! DISABLE\_REGISTRATION**允许通过OpenID进行注册。
- `WHITELISTED_URIS`: **_empty_**如果非空是一组匹配OpenID URI的POSIX正则表达式模式用于允许访问。
- `BLACKLISTED_URIS`: **_empty_**如果非空是一组匹配OpenID URI的POSIX正则表达式模式用于阻止访问。
- `ENABLE_OPENID_SIGNIN`: **true**: 允许通过OpenID进行身份验证。
- `ENABLE_OPENID_SIGNUP`: **! DISABLE\_REGISTRATION**: 允许通过OpenID进行注册。
- `WHITELISTED_URIS`: **_empty_**: 如果非空是一组匹配OpenID URI的POSIX正则表达式模式用于允许访问。
- `BLACKLISTED_URIS`: **_empty_**: 如果非空是一组匹配OpenID URI的POSIX正则表达式模式用于阻止访问。
## OAuth2 Client (`oauth2_client`)
- `REGISTER_EMAIL_CONFIRM`: _[service]_ **REGISTER\_EMAIL\_CONFIRM**设置此项以启用或禁用OAuth2自动注册的电子邮件确认。覆盖`[service]`部分的`REGISTER\_EMAIL\_CONFIRM`设置)
- `OPENID_CONNECT_SCOPES`: **_empty_**附加的OpenID连接范围的列表。`openid`已隐式添加)
- `ENABLE_AUTO_REGISTRATION`: **false**为新的OAuth2用户自动创建用户帐户。
- `USERNAME`: **nickname**新OAuth2帐户的用户名来源
- `REGISTER_EMAIL_CONFIRM`: _[service]_ **REGISTER\_EMAIL\_CONFIRM**: 设置此项以启用或禁用OAuth2自动注册的电子邮件确认。覆盖`[service]`部分的`REGISTER\_EMAIL\_CONFIRM`设置)
- `OPENID_CONNECT_SCOPES`: **_empty_**: 附加的OpenID连接范围的列表。`openid`已隐式添加)
- `ENABLE_AUTO_REGISTRATION`: **false**: 为新的OAuth2用户自动创建用户帐户。
- `USERNAME`: **nickname**: 新OAuth2帐户的用户名来源
- userid - 使用userid / sub属性
- nickname - 使用nickname属性
- email - 使用email属性的用户名部分
- `UPDATE_AVATAR`: **false**如果OAuth2提供程序中有可用的头像则进行头像更新。更新将在每次登录时执行。
- `ACCOUNT_LINKING`: **login**如果帐户/电子邮件已存在,如何处理:
- `UPDATE_AVATAR`: **false**: 如果OAuth2提供程序中有可用的头像则进行头像更新。更新将在每次登录时执行。
- `ACCOUNT_LINKING`: **login**: 如果帐户/电子邮件已存在,如何处理:
- disabled - 显示错误
- login - 显示帐户链接登录
- auto - 自动与帐户链接(请注意,这将因为提供相同的用户名或电子邮件而自动授予现有帐户的访问权限。您必须确保这不会导致身份验证提供程序出现问题。)
## Service (`service`)
- `ACTIVE_CODE_LIVE_MINUTES`: **180**确认帐户/电子邮件注册的时间限制(分钟)。
- `RESET_PASSWD_CODE_LIVE_MINUTES`: **180**确认忘记密码重置流程的时间限制(分钟)。
- `REGISTER_EMAIL_CONFIRM`: **false**启用此项以要求通过邮件确认注册。需要启用`Mailer`
- `REGISTER_MANUAL_CONFIRM`: **false**启用此项以手动确认新的注册。需要禁用`REGISTER_EMAIL_CONFIRM`
- `DISABLE_REGISTRATION`: **false**禁用注册,之后只有管理员可以为用户创建帐户。
- `REQUIRE_EXTERNAL_REGISTRATION_PASSWORD`: **false**启用此项以强制通过外部方式创建的帐户通过GitHub、OpenID Connect等创建密码。警告启用此项将降低安全性因此只有在您知道自己在做什么时才应启用它。
- `REQUIRE_SIGNIN_VIEW`: **false**启用此项以强制用户登录以查看任何页面或使用API。
- `ENABLE_NOTIFY_MAIL`: **false**启用此项以在发生某些情况(如创建问题)时向存储库的观察者发送电子邮件。需要启用`Mailer`
- `ENABLE_BASIC_AUTHENTICATION`: **true**禁用此项以禁止使用HTTP BASIC和用户的密码进行身份验证。请注意如果禁用此项您将无法使用密码访问令牌API端点。此外这仅会禁用使用密码的BASIC身份验证而不会禁用令牌或OAuth Basic。
- `ENABLE_REVERSE_PROXY_AUTHENTICATION`: **false**启用此项以允许反向代理身份验证。
- `ENABLE_REVERSE_PROXY_AUTO_REGISTRATION`: **false**启用此项以允许反向身份验证的自动注册。
- `ENABLE_REVERSE_PROXY_EMAIL`: **false**启用此项以允许使用提供的电子邮件而不是生成的电子邮件进行自动注册。
- `ENABLE_REVERSE_PROXY_FULL_NAME`: **false**启用此项以允许使用提供的全名进行自动注册。
- `ENABLE_CAPTCHA`: **false**启用此项以对注册使用验证码验证。
- `REQUIRE_CAPTCHA_FOR_LOGIN`: **false**启用此项以要求登录使用验证码验证。您还必须启用`ENABLE_CAPTCHA`
- `REQUIRE_EXTERNAL_REGISTRATION_CAPTCHA`: **false**启用此项以强制对外部帐户即GitHub、OpenID Connect等使用验证码验证。您还必须启用`ENABLE_CAPTCHA`
- `CAPTCHA_TYPE`: **image**\[image、recaptcha、hcaptcha、mcaptcha、cfturnstile\]
- `RECAPTCHA_SECRET`: **""**访问https://www.google.com/recaptcha/admin以获取recaptcha的密钥。
- `RECAPTCHA_SITEKEY`: **""**访问https://www.google.com/recaptcha/admin以获取recaptcha的站点密钥。
- `RECAPTCHA_URL`: **https://www.google.com/recaptcha/**设置recaptcha网址允许使用recaptcha net。
- `HCAPTCHA_SECRET`: **""**注册https://www.hcaptcha.com/以获取hcaptcha的密钥。
- `HCAPTCHA_SITEKEY`: **""**注册https://www.hcaptcha.com/以获取hcaptcha的站点密钥。
- `MCAPTCHA_SECRET`: **""**访问您的mCaptcha实例以获取mCaptcha的密钥。
- `MCAPTCHA_SITEKEY`: **""**访问您的mCaptcha实例以获取mCaptcha的站点密钥。
- `MCAPTCHA_URL` **https://demo.mcaptcha.org/**设置mCaptcha的URL。
- `CF_TURNSTILE_SECRET` **""**访问https://dash.cloudflare.com/?to=/:account/turnstile以获取cloudflare turnstile的密钥。
- `CF_TURNSTILE_SITEKEY` **""**访问https://dash.cloudflare.com/?to=/:account/turnstile以获取cloudflare turnstile的站点密钥。
- `DEFAULT_KEEP_EMAIL_PRIVATE`: **false**默认情况下,将用户设置为保持其电子邮件地址私有。
- `DEFAULT_ALLOW_CREATE_ORGANIZATION`: **true**默认情况下,允许新用户创建组织。
- `DEFAULT_USER_IS_RESTRICTED`: **false**默认情况下,为新用户分配受限权限。
- `DEFAULT_ENABLE_DEPENDENCIES`: **true**启用此项以默认启用依赖项。
- `ACTIVE_CODE_LIVE_MINUTES`: **180**: 确认帐户/电子邮件注册的时间限制(分钟)。
- `RESET_PASSWD_CODE_LIVE_MINUTES`: **180**: 确认忘记密码重置流程的时间限制(分钟)。
- `REGISTER_EMAIL_CONFIRM`: **false**: 启用此项以要求通过邮件确认注册。需要启用`Mailer`
- `REGISTER_MANUAL_CONFIRM`: **false**: 启用此项以手动确认新的注册。需要禁用`REGISTER_EMAIL_CONFIRM`
- `DISABLE_REGISTRATION`: **false**: 禁用注册,之后只有管理员可以为用户创建帐户。
- `REQUIRE_EXTERNAL_REGISTRATION_PASSWORD`: **false**: 启用此项以强制通过外部方式创建的帐户通过GitHub、OpenID Connect等创建密码。警告启用此项将降低安全性因此只有在您知道自己在做什么时才应启用它。
- `REQUIRE_SIGNIN_VIEW`: **false**: 启用此项以强制用户登录以查看任何页面或使用API。
- `ENABLE_NOTIFY_MAIL`: **false**: 启用此项以在发生某些情况(如创建问题)时向存储库的观察者发送电子邮件。需要启用`Mailer`
- `ENABLE_BASIC_AUTHENTICATION`: **true**: 禁用此项以禁止使用HTTP BASIC和用户的密码进行身份验证。请注意如果禁用此项您将无法使用密码访问令牌API端点。此外这仅会禁用使用密码的BASIC身份验证而不会禁用令牌或OAuth Basic。
- `ENABLE_REVERSE_PROXY_AUTHENTICATION`: **false**: 启用此项以允许反向代理身份验证。
- `ENABLE_REVERSE_PROXY_AUTO_REGISTRATION`: **false**: 启用此项以允许反向身份验证的自动注册。
- `ENABLE_REVERSE_PROXY_EMAIL`: **false**: 启用此项以允许使用提供的电子邮件而不是生成的电子邮件进行自动注册。
- `ENABLE_REVERSE_PROXY_FULL_NAME`: **false**: 启用此项以允许使用提供的全名进行自动注册。
- `ENABLE_CAPTCHA`: **false**: 启用此项以对注册使用验证码验证。
- `REQUIRE_CAPTCHA_FOR_LOGIN`: **false**: 启用此项以要求登录使用验证码验证。您还必须启用`ENABLE_CAPTCHA`
- `REQUIRE_EXTERNAL_REGISTRATION_CAPTCHA`: **false**: 启用此项以强制对外部帐户即GitHub、OpenID Connect等使用验证码验证。您还必须启用`ENABLE_CAPTCHA`
- `CAPTCHA_TYPE`: **image**: \[image、recaptcha、hcaptcha、mcaptcha、cfturnstile\]
- `RECAPTCHA_SECRET`: **""**: 访问 https://www.google.com/recaptcha/admin 以获取recaptcha的密钥。
- `RECAPTCHA_SITEKEY`: **""**: 访问 https://www.google.com/recaptcha/admin 以获取recaptcha的站点密钥。
- `RECAPTCHA_URL`: **https://www.google.com/recaptcha/** 设置recaptcha网址允许使用recaptcha net。
- `HCAPTCHA_SECRET`: **""**: 注册 https://www.hcaptcha.com/ 以获取hcaptcha的密钥。
- `HCAPTCHA_SITEKEY`: **""**: 注册 https://www.hcaptcha.com/ 以获取hcaptcha的站点密钥。
- `MCAPTCHA_SECRET`: **""**: 访问您的mCaptcha实例以获取mCaptcha的密钥。
- `MCAPTCHA_SITEKEY`: **""**: 访问您的mCaptcha实例以获取mCaptcha的站点密钥。
- `MCAPTCHA_URL` **https://demo.mcaptcha.org/** 设置mCaptcha的URL。
- `CF_TURNSTILE_SECRET` **""**: 访问 https://dash.cloudflare.com/?to=/:account/turnstile 以获取cloudflare turnstile的密钥。
- `CF_TURNSTILE_SITEKEY` **""**: 访问 https://dash.cloudflare.com/?to=/:account/turnstile 以获取cloudflare turnstile的站点密钥。
- `DEFAULT_KEEP_EMAIL_PRIVATE`: **false**: 默认情况下,将用户设置为保持其电子邮件地址私有。
- `DEFAULT_ALLOW_CREATE_ORGANIZATION`: **true**: 默认情况下,允许新用户创建组织。
- `DEFAULT_USER_IS_RESTRICTED`: **false**: 默认情况下,为新用户分配受限权限。
- `DEFAULT_ENABLE_DEPENDENCIES`: **true**: 启用此项以默认启用依赖项。
- `ALLOW_CROSS_REPOSITORY_DEPENDENCIES` : **true** 启用此项以允许从用户被授予访问权限的任何存储库上进行依赖项操作。
- `USER_LOCATION_MAP_URL`: **""**一个显示用户在地图上位置的地图服务URL。位置将作为转义的查询参数附加到URL中。
- `ENABLE_USER_HEATMAP`: **true**启用此项以在用户个人资料上显示热图。
- `ENABLE_TIMETRACKING`: **true**启用时间跟踪功能。
- `DEFAULT_ENABLE_TIMETRACKING`: **true**默认情况下,允许存储库默认使用时间跟踪。
- `DEFAULT_ALLOW_ONLY_CONTRIBUTORS_TO_TRACK_TIME`: **true**仅允许具有写权限的用户跟踪时间。
- `EMAIL_DOMAIN_ALLOWLIST`: **_empty_**如果非空,逗号分隔的域名列表,只能用于在此实例上注册,支持通配符。
- `EMAIL_DOMAIN_BLOCKLIST`: **_empty_**如果非空,逗号分隔的域名列表,不能用于在此实例上注册,支持通配符。
- `SHOW_REGISTRATION_BUTTON`: **! DISABLE\_REGISTRATION**显示注册按钮
- `USER_LOCATION_MAP_URL`: **""**: 一个显示用户在地图上位置的地图服务URL。位置将作为转义的查询参数附加到URL中。
- `ENABLE_USER_HEATMAP`: **true**: 启用此项以在用户个人资料上显示热图。
- `ENABLE_TIMETRACKING`: **true**: 启用时间跟踪功能。
- `DEFAULT_ENABLE_TIMETRACKING`: **true**: 默认情况下,允许存储库默认使用时间跟踪。
- `DEFAULT_ALLOW_ONLY_CONTRIBUTORS_TO_TRACK_TIME`: **true**: 仅允许具有写权限的用户跟踪时间。
- `EMAIL_DOMAIN_ALLOWLIST`: **_empty_**: 如果非空,逗号分隔的域名列表,只能用于在此实例上注册,支持通配符。
- `EMAIL_DOMAIN_BLOCKLIST`: **_empty_**: 如果非空,逗号分隔的域名列表,不能用于在此实例上注册,支持通配符。
- `SHOW_REGISTRATION_BUTTON`: **! DISABLE\_REGISTRATION**: 显示注册按钮
- `SHOW_MILESTONES_DASHBOARD_PAGE`: **true** 启用此项以显示里程碑仪表板页面 - 查看所有用户的里程碑
- `AUTO_WATCH_NEW_REPOS`: **true** 启用此项以在创建新存储库时让所有组织用户观看新存储库
- `AUTO_WATCH_ON_CHANGES`: **false** 启用此项以在首次提交后使用户观看存储库
- `DEFAULT_USER_VISIBILITY`: **public**为用户设置默认的可见性模式,可以是"public"、"limited"或"private"。
- `ALLOWED_USER_VISIBILITY_MODES`: **public,limited,private**设置用户可以具有的可见性模式
- `DEFAULT_ORG_VISIBILITY`: **public**为组织设置默认的可见性模式,可以是"public"、"limited"或"private"。
- `DEFAULT_ORG_MEMBER_VISIBLE`: **false**如果添加到组织时将用户的成员身份可见设置为True。
- `ALLOW_ONLY_INTERNAL_REGISTRATION`: **false**设置为True以强制仅通过Gitea进行注册。
- `ALLOW_ONLY_EXTERNAL_REGISTRATION`: **false**设置为True以强制仅使用第三方服务进行注册。
- `NO_REPLY_ADDRESS`: **noreply.DOMAIN**如果用户将KeepEmailPrivate设置为True则在Git日志中的用户电子邮件地址的域部分的值。DOMAIN解析为server.DOMAIN中的值。
- `DEFAULT_USER_VISIBILITY`: **public**: 为用户设置默认的可见性模式,可以是"public"、"limited"或"private"。
- `ALLOWED_USER_VISIBILITY_MODES`: **public,limited,private**: 设置用户可以具有的可见性模式
- `DEFAULT_ORG_VISIBILITY`: **public**: 为组织设置默认的可见性模式,可以是"public"、"limited"或"private"。
- `DEFAULT_ORG_MEMBER_VISIBLE`: **false**: 如果添加到组织时将用户的成员身份可见设置为True。
- `ALLOW_ONLY_INTERNAL_REGISTRATION`: **false**: 设置为True以强制仅通过Gitea进行注册。
- `ALLOW_ONLY_EXTERNAL_REGISTRATION`: **false**: 设置为True以强制仅使用第三方服务进行注册。
- `NO_REPLY_ADDRESS`: **noreply.DOMAIN**: 如果用户将KeepEmailPrivate设置为True则在Git日志中的用户电子邮件地址的域部分的值。DOMAIN解析为server.DOMAIN中的值。
用户的电子邮件将被替换为小写的用户名、"@"和NO_REPLY_ADDRESS的连接。
- `USER_DELETE_WITH_COMMENTS_MAX_TIME`: **0**用户删除后,评论将保留的最短时间。
- `VALID_SITE_URL_SCHEMES`: **http, https**用户个人资料的有效站点URL方案
- `USER_DELETE_WITH_COMMENTS_MAX_TIME`: **0**: 用户删除后,评论将保留的最短时间。
- `VALID_SITE_URL_SCHEMES`: **http, https**: 用户个人资料的有效站点URL方案
### Service - Explore (`service.explore`)
- `REQUIRE_SIGNIN_VIEW`: **false**仅允许已登录的用户查看探索页面。
- `DISABLE_USERS_PAGE`: **false**禁用用户探索页面。
- `REQUIRE_SIGNIN_VIEW`: **false**: 仅允许已登录的用户查看探索页面。
- `DISABLE_USERS_PAGE`: **false**: 禁用用户探索页面。
- `DISABLE_ORGANIZATIONS_PAGE`: **false**: 禁用组织探索页面。
- `DISABLE_CODE_PAGE`: **false**: 禁用代码探索页面。
@@ -645,14 +645,14 @@ Gitea 创建以下非唯一队列:
- `ED25519`**256**
- `ECDSA`**256**
- `RSA`**3071**我们在这里设置为2047因为一个其他方面有效的3072 RSA密钥可能被报告为3071长度。
- `DSA`**-1**默认情况下禁用DSA。设置为**1024**以重新启用但请注意可能需要重新配置您的SSHD提供者
- `RSA`**3071**: 我们在这里设置为2047因为一个其他方面有效的3072 RSA密钥可能被报告为3071长度。
- `DSA`**-1**: 默认情况下禁用DSA。设置为**1024**以重新启用但请注意可能需要重新配置您的SSHD提供者
## Webhook (`webhook`)
- `QUEUE_LENGTH`: **1000**钩子任务队列长度。编辑此值时要小心。
- `DELIVER_TIMEOUT`: **5**发送 Webhook 的交付超时时间(秒)。
- `ALLOWED_HOST_LIST`: **external**出于安全原因Webhook 仅能调用允许的主机。以逗号分隔的列表。
- `QUEUE_LENGTH`: **1000**: 钩子任务队列长度。编辑此值时要小心。
- `DELIVER_TIMEOUT`: **5**: 发送 Webhook 的交付超时时间(秒)。
- `ALLOWED_HOST_LIST`: **external**: 出于安全原因Webhook 仅能调用允许的主机。以逗号分隔的列表。
- 内置网络:
- `loopback`IPv4 的 127.0.0.0/8 和 IPv6 的 ::1/128包括 localhost。
- `private`RFC 191810.0.0.0/8172.16.0.0/12192.168.0.0/16和 RFC 4193FC00::/7。也称为 LAN/Intranet。
@@ -660,10 +660,10 @@ Gitea 创建以下非唯一队列:
- `*`:允许所有主机。
- CIDR 列表IPv4 的 `1.2.3.0/8` 和 IPv6 的 `2001:db8::/32`
- 通配符主机:`*.mydomain.com``192.168.100.*`
- `SKIP_TLS_VERIFY`: **false**允许不安全的证书。
- `PAGING_NUM`: **10**一页中显示的 Webhook 历史事件数量。
- `PROXY_URL`: **_empty_**代理服务器 URL支持 http://、https://、socks://,留空将遵循环境的 http_proxy/https_proxy 设置。如果未提供,将使用全局代理设置。
- `PROXY_HOSTS`: **_empty_**需要代理的主机名的逗号分隔列表。支持通配符模式 (*);使用 ** 来匹配所有主机。如果未提供,将使用全局代理设置。
- `SKIP_TLS_VERIFY`: **false**: 允许不安全的证书。
- `PAGING_NUM`: **10**: 一页中显示的 Webhook 历史事件数量。
- `PROXY_URL`: **_empty_**: 代理服务器 URL支持 http://、https://、socks://,留空将遵循环境的 http_proxy/https_proxy 设置。如果未提供,将使用全局代理设置。
- `PROXY_HOSTS`: **_empty_**: 需要代理的主机名的逗号分隔列表。支持通配符模式 (*);使用 ** 来匹配所有主机。如果未提供,将使用全局代理设置。
## 邮件 (`mailer`)
@@ -672,50 +672,50 @@ Gitea 创建以下非唯一队列:
[Gitea 1.17 配置文档](https://github.com/go-gitea/gitea/blob/release/v1.17/docs/content/doc/advanced/config-cheat-sheet.en-us.md)
- `ENABLED`: **false**是否启用邮件服务。
- `PROTOCOL`: **_empty_**邮件服务协议,可选择 "smtp"、"smtps"、"smtp+starttls"、"smtp+unix"、"sendmail"、"dummy"。在 Gitea 1.18 之前,邮件服务协议由 `MAILER_TYPE``IS_TLS_ENABLED` 两个配置共同决定。
- `ENABLED`: **false**: 是否启用邮件服务。
- `PROTOCOL`: **_empty_**: 邮件服务协议,可选择 "smtp"、"smtps"、"smtp+starttls"、"smtp+unix"、"sendmail"、"dummy"。在 Gitea 1.18 之前,邮件服务协议由 `MAILER_TYPE``IS_TLS_ENABLED` 两个配置共同决定。
- SMTP 类族,如果您的提供者没有明确说明使用的是哪个协议,但提供了一个端口,您可以设置 SMTP_PORT它将被推断出来。
- **sendmail** 使用操作系统的 `sendmail` 命令,而不是 SMTP。这在 Linux 系统上很常见。
- **dummy** 将邮件消息发送到日志,作为测试阶段。
- 请注意,启用 sendmail 将忽略所有其他 `mailer` 设置,除了 `ENABLED``FROM``SUBJECT_PREFIX``SENDMAIL_PATH`
- 启用 dummy 将忽略所有设置,除了 `ENABLED``SUBJECT_PREFIX``FROM`
- `SMTP_ADDR`: **_empty_**邮件服务器地址,例如 smtp.gmail.com。对于 smtp+unix这应该是一个到 unix socket 的路径。在 1.18 之前,此设置与 `SMTP_PORT` 合并,名称为 `HOST`
- `SMTP_PORT`: **_empty_**邮件服务器端口。如果未指定协议,将通过此设置进行推断。常用端口如下。在 1.18 之前,此设置与 `SMTP_ADDR` 合并,名称为 `HOST`
- `SMTP_ADDR`: **_empty_**: 邮件服务器地址,例如 smtp.gmail.com。对于 smtp+unix这应该是一个到 unix socket 的路径。在 1.18 之前,此设置与 `SMTP_PORT` 合并,名称为 `HOST`
- `SMTP_PORT`: **_empty_**: 邮件服务器端口。如果未指定协议,将通过此设置进行推断。常用端口如下。在 1.18 之前,此设置与 `SMTP_ADDR` 合并,名称为 `HOST`
- 25不安全的简单邮件传输协议insecure SMTP
- 465安全的简单邮件传输协议SMTP Secure
- 587StartTLS
- `USE_CLIENT_CERT`: **false**使用客户端证书进行 TLS/SSL 加密。
- `CLIENT_CERT_FILE`: **custom/mailer/cert.pem**客户端证书文件。
- `CLIENT_KEY_FILE`: **custom/mailer/key.pem**客户端密钥文件。
- `FORCE_TRUST_SERVER_CERT`: **false**如果设置为 `true`,将完全忽略服务器证书验证错误。此选项不安全。考虑将证书添加到系统信任存储中。
- `USER`: **_empty_**邮件用户的用户名(通常是发件人的电子邮件地址)。
- `PASSWD`: **_empty_**邮件用户的密码。如果密码中使用了特殊字符,请使用 \`your password\` 进行引用。
- `USE_CLIENT_CERT`: **false**: 使用客户端证书进行 TLS/SSL 加密。
- `CLIENT_CERT_FILE`: **custom/mailer/cert.pem**: 客户端证书文件。
- `CLIENT_KEY_FILE`: **custom/mailer/key.pem**: 客户端密钥文件。
- `FORCE_TRUST_SERVER_CERT`: **false**: 如果设置为 `true`,将完全忽略服务器证书验证错误。此选项不安全。考虑将证书添加到系统信任存储中。
- `USER`: **_empty_**: 邮件用户的用户名(通常是发件人的电子邮件地址)。
- `PASSWD`: **_empty_**: 邮件用户的密码。如果密码中使用了特殊字符,请使用 \`your password\` 进行引用。
- 请注意:只有在 SMTP 服务器通信通过 TLS 加密(可以通过 `STARTTLS` 实现)或 SMTP 主机是 localhost 时,才支持身份验证。有关更多信息,请参阅 [邮件设置](../administration/email-setup.md)。
- `ENABLE_HELO`: **true**启用 HELO 操作。
- `HELO_HOSTNAME`: **(从系统检索)**HELO 主机名。
- `FROM`: **_empty_**邮件的发件人地址,符合 RFC 5322。这可以是一个电子邮件地址也可以是 "Name" \<email@example.com\> 格式。
- `ENVELOPE_FROM`: **_empty_**在 SMTP 邮件信封上设置的地址作为发件地址。设置为 `<>` 以发送一个空地址。
- `SUBJECT_PREFIX`: **_empty_**放置在电子邮件主题行之前的前缀。
- `SENDMAIL_PATH`: **sendmail**操作系统上 `sendmail` 的位置(可以是命令或完整路径)。
- `SENDMAIL_ARGS`: **_empty_**指定任何额外的 sendmail 参数。(注意:您应该知道电子邮件地址可能看起来像选项 - 如果您的 `sendmail` 命令带有选项,您必须设置选项终止符 `--`
- `SENDMAIL_TIMEOUT`: **5m**通过 sendmail 发送电子邮件的默认超时时间。
- `SENDMAIL_CONVERT_CRLF`: **true**大多数版本的 sendmail 偏好使用 LF 换行符,而不是 CRLF 换行符。如果您的 sendmail 版本需要 CRLF 换行符,请将此设置为 false。
- `SEND_BUFFER_LEN`: **100**邮件队列的缓冲区长度。**已弃用**,请在 `[queue.mailer]` 中使用 `LENGTH`
- `SEND_AS_PLAIN_TEXT`: **false**仅以纯文本形式发送邮件,不包括 HTML 备选方案。
- `ENABLE_HELO`: **true**: 启用 HELO 操作。
- `HELO_HOSTNAME`: **(从系统检索)**: HELO 主机名。
- `FROM`: **_empty_**: 邮件的发件人地址,符合 RFC 5322。这可以是一个电子邮件地址也可以是 "Name" \<email@example.com\> 格式。
- `ENVELOPE_FROM`: **_empty_**: 在 SMTP 邮件信封上设置的地址作为发件地址。设置为 `<>` 以发送一个空地址。
- `SUBJECT_PREFIX`: **_empty_**: 放置在电子邮件主题行之前的前缀。
- `SENDMAIL_PATH`: **sendmail**: 操作系统上 `sendmail` 的位置(可以是命令或完整路径)。
- `SENDMAIL_ARGS`: **_empty_**: 指定任何额外的 sendmail 参数。(注意:您应该知道电子邮件地址可能看起来像选项 - 如果您的 `sendmail` 命令带有选项,您必须设置选项终止符 `--`
- `SENDMAIL_TIMEOUT`: **5m**: 通过 sendmail 发送电子邮件的默认超时时间。
- `SENDMAIL_CONVERT_CRLF`: **true**: 大多数版本的 sendmail 偏好使用 LF 换行符,而不是 CRLF 换行符。如果您的 sendmail 版本需要 CRLF 换行符,请将此设置为 false。
- `SEND_BUFFER_LEN`: **100**: 邮件队列的缓冲区长度。**已弃用**,请在 `[queue.mailer]` 中使用 `LENGTH`
- `SEND_AS_PLAIN_TEXT`: **false**: 仅以纯文本形式发送邮件,不包括 HTML 备选方案。
## 入站邮件 (`email.incoming`)
- `ENABLED`: **false**启用处理入站邮件。
- `REPLY_TO_ADDRESS`: **_empty_**包括 `%{token}` 占位符的电子邮件地址,该占位符将根据用户/操作进行替换。示例:`incoming+%{token}@example.com`。占位符必须出现在地址的用户部分(在 `@` 之前)。
- `HOST`: **_empty_**IMAP 服务器主机。
- `PORT`: **_empty_**IMAP 服务器端口。
- `USERNAME`: **_empty_**接收帐户的用户名。
- `PASSWORD`: **_empty_**接收帐户的密码。
- `USE_TLS`: **false**IMAP 服务器是否使用 TLS。
- `SKIP_TLS_VERIFY`: **false**如果设置为 `true`,将完全忽略服务器证书验证错误。此选项不安全。
- `MAILBOX`: **INBOX**入站邮件将到达的邮箱名称。
- `DELETE_HANDLED_MESSAGE`: **true**是否应从邮箱中删除已处理的消息。
- `MAXIMUM_MESSAGE_SIZE`: **10485760**要处理的消息的最大大小。忽略更大的消息。将其设置为 0 以允许每种大小。
- `ENABLED`: **false**: 启用处理入站邮件。
- `REPLY_TO_ADDRESS`: **_empty_**: 包括 `%{token}` 占位符的电子邮件地址,该占位符将根据用户/操作进行替换。示例:`incoming+%{token}@example.com`。占位符必须出现在地址的用户部分(在 `@` 之前)。
- `HOST`: **_empty_**: IMAP 服务器主机。
- `PORT`: **_empty_**: IMAP 服务器端口。
- `USERNAME`: **_empty_**: 接收帐户的用户名。
- `PASSWORD`: **_empty_**: 接收帐户的密码。
- `USE_TLS`: **false**: IMAP 服务器是否使用 TLS。
- `SKIP_TLS_VERIFY`: **false**: 如果设置为 `true`,将完全忽略服务器证书验证错误。此选项不安全。
- `MAILBOX`: **INBOX**: 入站邮件将到达的邮箱名称。
- `DELETE_HANDLED_MESSAGE`: **true**: 是否应从邮箱中删除已处理的消息。
- `MAXIMUM_MESSAGE_SIZE`: **10485760**: 要处理的消息的最大大小。忽略更大的消息。将其设置为 0 以允许每种大小。
## 缓存 (`cache`)
@@ -730,43 +730,43 @@ Gitea 创建以下非唯一队列:
### 缓存 - 最后提交缓存设置 (`cache.last_commit`)
- `ITEM_TTL`: **8760h**如果未使用,保持缓存中的项目的时间,将其设置为 -1 会禁用缓存。
- `COMMITS_COUNT`: **1000**仅在存储库的提交计数大于时启用缓存。
- `ITEM_TTL`: **8760h**: 如果未使用,保持缓存中的项目的时间,将其设置为 -1 会禁用缓存。
- `COMMITS_COUNT`: **1000**: 仅在存储库的提交计数大于时启用缓存。
## 会话 (`session`)
- `PROVIDER`: **memory**会话存储引擎 \[memory, file, redis, redis-cluster, db, mysql, couchbase, memcache, postgres\]。设置为 `db` 将会重用 `[database]` 的配置信息。
- `PROVIDER_CONFIG`: **data/sessions**对于文件,为根路径;对于 db为空将使用数据库配置对于其他引擎为连接字符串。相对路径将根据 _`AppWorkPath`_ 绝对化。
- `COOKIE_SECURE`: **_empty_**`true``false`。启用此选项以强制在所有会话访问中使用 HTTPS。如果没有设置当 ROOT_URL 是 https 链接的时候默认设置为 true。
- `COOKIE_NAME`: **i\_like\_gitea**用于会话 ID 的 cookie 名称。
- `GC_INTERVAL_TIME`: **86400**GC 间隔时间,以秒为单位。
- `SESSION_LIFE_TIME`: **86400**会话生命周期,以秒为单位,默认为 864001 天)。
- `DOMAIN`: **_empty_**设置 cookie 的域。
- `PROVIDER`: **memory**: 会话存储引擎 \[memory, file, redis, redis-cluster, db, mysql, couchbase, memcache, postgres\]。设置为 `db` 将会重用 `[database]` 的配置信息。
- `PROVIDER_CONFIG`: **data/sessions**: 对于文件,为根路径;对于 db为空将使用数据库配置对于其他引擎为连接字符串。相对路径将根据 _`AppWorkPath`_ 绝对化。
- `COOKIE_SECURE`: **_empty_**: `true``false`。启用此选项以强制在所有会话访问中使用 HTTPS。如果没有设置当 ROOT_URL 是 https 链接的时候默认设置为 true。
- `COOKIE_NAME`: **i\_like\_gitea**: 用于会话 ID 的 cookie 名称。
- `GC_INTERVAL_TIME`: **86400**: GC 间隔时间,以秒为单位。
- `SESSION_LIFE_TIME`: **86400**: 会话生命周期,以秒为单位,默认为 864001 天)。
- `DOMAIN`: **_empty_**: 设置 cookie 的域。
- `SAME_SITE`: **lax** \[strict, lax, none\]:为 cookie 设置 SameSite 属性。
## 图像 (`picture`)
- `GRAVATAR_SOURCE`: **gravatar**头像来源,可以是 gravatar、duoshuo 或类似 http://cn.gravatar.com/avatar/ 的来源。
- `GRAVATAR_SOURCE`: **gravatar**: 头像来源,可以是 gravatar、duoshuo 或类似 http://cn.gravatar.com/avatar/ 的来源。
`http://cn.gravatar.com/avatar/`
- `DISABLE_GRAVATAR`: **false**启用后,只使用内部头像。**已弃用 [v1.18+]** 该配置已迁移到数据库中保存,通过管理员面板进行配置。
- `ENABLE_FEDERATED_AVATAR`: **false**启用头像联盟支持(参见
- `DISABLE_GRAVATAR`: **false**: 启用后,只使用内部头像。**已弃用 [v1.18+]** 该配置已迁移到数据库中保存,通过管理员面板进行配置。
- `ENABLE_FEDERATED_AVATAR`: **false**: 启用头像联盟支持(参见
[http://www.libravatar.org](http://www.libravatar.org))。**已弃用 [v1.18+]** 该配置已迁移到数据库中保存,通过管理员面板进行配置。
- `AVATAR_STORAGE_TYPE`: **default**`[storage.xxx]` 中定义的存储类型。默认为 `default`,如果没有 `[storage]` 部分,则将读取 `[storage]`,如果没有则将是 `local` 类型。
- `AVATAR_UPLOAD_PATH`: **data/avatars**存储用户头像图像文件的路径。
- `AVATAR_MAX_WIDTH`: **4096**头像的最大宽度,以像素为单位。
- `AVATAR_MAX_HEIGHT`: **4096**头像的最大高度,以像素为单位。
- `AVATAR_STORAGE_TYPE`: **default**: `[storage.xxx]` 中定义的存储类型。默认为 `default`,如果没有 `[storage]` 部分,则将读取 `[storage]`,如果没有则将是 `local` 类型。
- `AVATAR_UPLOAD_PATH`: **data/avatars**: 存储用户头像图像文件的路径。
- `AVATAR_MAX_WIDTH`: **4096**: 头像的最大宽度,以像素为单位。
- `AVATAR_MAX_HEIGHT`: **4096**: 头像的最大高度,以像素为单位。
- `AVATAR_MAX_FILE_SIZE`: **1048576**1MiB头像的最大大小。
- `AVATAR_MAX_ORIGIN_SIZE`: **262144**256KiB如果上传的文件不大于此字节大小则图像将原样使用无需调整大小/转换。
- `AVATAR_RENDERED_SIZE_FACTOR`: **2**渲染的头像图像的乘法因子。较大的值在 HiDPI 设备上会产生更细腻的渲染。
- `AVATAR_RENDERED_SIZE_FACTOR`: **2**: 渲染的头像图像的乘法因子。较大的值在 HiDPI 设备上会产生更细腻的渲染。
- `REPOSITORY_AVATAR_STORAGE_TYPE`: **default**`[storage.xxx]` 中定义的存储类型。默认为 `default`,如果没有 `[storage]` 部分,则将读取 `[storage]`,如果没有则将是 `local` 类型。
- `REPOSITORY_AVATAR_UPLOAD_PATH`: **data/repo-avatars**存储仓库头像图像文件的路径。
- `REPOSITORY_AVATAR_FALLBACK`: **none**Gitea 处理缺少仓库头像的方式
- `REPOSITORY_AVATAR_STORAGE_TYPE`: **default**: `[storage.xxx]` 中定义的存储类型。默认为 `default`,如果没有 `[storage]` 部分,则将读取 `[storage]`,如果没有则将是 `local` 类型。
- `REPOSITORY_AVATAR_UPLOAD_PATH`: **data/repo-avatars**: 存储仓库头像图像文件的路径。
- `REPOSITORY_AVATAR_FALLBACK`: **none**: Gitea 处理缺少仓库头像的方式
- none = 不显示任何头像
- random = 生成随机头像
- image = 使用默认图像(在 `REPOSITORY_AVATAR_FALLBACK_IMAGE` 中设置),如果设置为 image 并且未上传任何图像。
- `REPOSITORY_AVATAR_FALLBACK_IMAGE`: **/img/repo_default.png**作为默认仓库头像的图像(如果将 `REPOSITORY_AVATAR_FALLBACK` 设置为 image 并且没有上传图像)。
- `REPOSITORY_AVATAR_FALLBACK_IMAGE`: **/img/repo_default.png**: 作为默认仓库头像的图像(如果将 `REPOSITORY_AVATAR_FALLBACK` 设置为 image 并且没有上传图像)。
## 项目 (`project`)
@@ -1044,23 +1044,23 @@ Gitea 创建以下非唯一队列:
## OAuth2 (`oauth2`)
- `ENABLED`: **true**启用OAuth2提供者。
- `ACCESS_TOKEN_EXPIRATION_TIME`**3600**OAuth2访问令牌的生命周期以秒为单位。
- `REFRESH_TOKEN_EXPIRATION_TIME`**730**OAuth2刷新令牌的生命周期以小时为单位。
- `INVALIDATE_REFRESH_TOKENS`**false**检查刷新令牌是否已被使用。
- `JWT_SIGNING_ALGORITHM`**RS256**用于签署OAuth2令牌的算法。有效值[`HS256``HS384``HS512``RS256``RS384``RS512``ES256``ES384``ES512`]。
- `JWT_SECRET`**_empty_**OAuth2访问和刷新令牌的身份验证密钥请将其更改为唯一的字符串。仅当`JWT_SIGNING_ALGORITHM`设置为`HS256``HS384``HS512`时才需要此设置。
- `JWT_SECRET_URI`**_empty_**可以使用此配置选项,而不是在配置中定义`JWT_SECRET`以向Gitea提供包含密钥的文件的路径示例值`file:/etc/gitea/oauth2_jwt_secret`)。
- `JWT_SIGNING_PRIVATE_KEY_FILE`**jwt/private.pem**用于签署OAuth2令牌的私钥文件路径。路径相对于`APP_DATA_PATH`。仅当`JWT_SIGNING_ALGORITHM`设置为`RS256``RS384``RS512``ES256``ES384``ES512`时才需要此设置。文件必须包含PKCS8格式的RSA或ECDSA私钥。如果不存在密钥则将为您创建一个4096位密钥。
- `MAX_TOKEN_LENGTH`**32767**从OAuth2提供者接受的令牌/cookie的最大长度。
- `DEFAULT_APPLICATIONS`**git-credential-oauthgit-credential-manager, tea**在启动时预注册用于某些服务的OAuth应用程序。有关可用选项列表请参阅[OAuth2文档](/development/oauth2-provider.md)。
- `ENABLED`: **true**: 启用OAuth2提供者。
- `ACCESS_TOKEN_EXPIRATION_TIME`**3600**: OAuth2访问令牌的生命周期以秒为单位。
- `REFRESH_TOKEN_EXPIRATION_TIME`**730**: OAuth2刷新令牌的生命周期以小时为单位。
- `INVALIDATE_REFRESH_TOKENS`**false**: 检查刷新令牌是否已被使用。
- `JWT_SIGNING_ALGORITHM`**RS256**: 用于签署OAuth2令牌的算法。有效值[`HS256``HS384``HS512``RS256``RS384``RS512``ES256``ES384``ES512`]。
- `JWT_SECRET`**_empty_**: OAuth2访问和刷新令牌的身份验证密钥请将其更改为唯一的字符串。仅当`JWT_SIGNING_ALGORITHM`设置为`HS256``HS384``HS512`时才需要此设置。
- `JWT_SECRET_URI`**_empty_**: 可以使用此配置选项,而不是在配置中定义`JWT_SECRET`以向Gitea提供包含密钥的文件的路径示例值`file:/etc/gitea/oauth2_jwt_secret`)。
- `JWT_SIGNING_PRIVATE_KEY_FILE`**jwt/private.pem**: 用于签署OAuth2令牌的私钥文件路径。路径相对于`APP_DATA_PATH`。仅当`JWT_SIGNING_ALGORITHM`设置为`RS256``RS384``RS512``ES256``ES384``ES512`时才需要此设置。文件必须包含PKCS8格式的RSA或ECDSA私钥。如果不存在密钥则将为您创建一个4096位密钥。
- `MAX_TOKEN_LENGTH`**32767**: 从OAuth2提供者接受的令牌/cookie的最大长度。
- `DEFAULT_APPLICATIONS`**git-credential-oauthgit-credential-manager, tea**: 在启动时预注册用于某些服务的OAuth应用程序。有关可用选项列表请参阅[OAuth2文档](/development/oauth2-provider.md)。
## i18n (`i18n`)
- `LANGS`: **en-US,zh-CN,zh-HK,zh-TW,de-DE,fr-FR,nl-NL,lv-LV,ru-RU,uk-UA,ja-JP,es-ES,pt-BR,pt-PT,pl-PL,bg-BG,it-IT,fi-FI,tr-TR,cs-CZ,sv-SE,ko-KR,el-GR,fa-IR,hu-HU,id-ID,ml-IN**
- `LANGS`: **en-US,zh-CN,zh-HK,zh-TW,de-DE,fr-FR,nl-NL,lv-LV,ru-RU,uk-UA,ja-JP,es-ES,pt-BR,pt-PT,pl-PL,bg-BG,it-IT,fi-FI,tr-TR,cs-CZ,sv-SE,ko-KR,el-GR,fa-IR,hu-HU,id-ID,ml-IN**:
在语言选择器中显示的区域设置列表。如果用户浏览器的语言与列表中的任何区域设置不匹配,则将使用第一个区域设置作为默认值。
- `NAMES`**English,简体中文,繁體中文(香港),繁體中文(台灣),Deutsch,Français,Nederlands,Latviešu,Русский,Українська,日本語,Español,Português do Brasil,Português de Portugal,Polski,Български,Italiano,Suomi,Türkçe,Čeština,Српски,Svenska,한국어,Ελληνικά,فارسی,Magyar nyelv,Bahasa Indonesia,മലയാളം**
- `NAMES`**English,简体中文,繁體中文(香港),繁體中文(台灣),Deutsch,Français,Nederlands,Latviešu,Русский,Українська,日本語,Español,Português do Brasil,Português de Portugal,Polski,Български,Italiano,Suomi,Türkçe,Čeština,Српски,Svenska,한국어,Ελληνικά,فارسی,Magyar nyelv,Bahasa Indonesia,മലയാളം**:
对应于各区域设置的可见名称。
## Markup (`markup`)
@@ -1127,93 +1127,93 @@ ALLOW_DATA_URI_IMAGES = true
## 迁移 (`migrations`)
- `MAX_ATTEMPTS`**3**每次 http/https 请求的最大尝试次数(用于迁移)。
- `RETRY_BACKOFF`**3**每次 http/https 请求重试的退避时间(秒)。
- `ALLOWED_DOMAINS`**_empty_**允许迁移仓库的域名允许列表,默认为空。这意味着允许外部网址。多个域名可以用逗号分隔。支持通配符:`github.com, *.github.com`
- `BLOCKED_DOMAINS`**_empty_**阻止迁移仓库的域名阻止列表,默认为空。多个域名可以用逗号分隔。当 `ALLOWED_DOMAINS` 不为空时,此选项优先级较高,用于拒绝域名。支持通配符。
- `ALLOW_LOCALNETWORKS`**false**允许 RFC 1918、RFC 1122、RFC 4632 和 RFC 4291 中定义的私有地址。如果域名被 `ALLOWED_DOMAINS` 允许,此选项将被忽略。
- `SKIP_TLS_VERIFY`**false**允许跳过 TLS 验证。
- `MAX_ATTEMPTS`**3**: 每次 http/https 请求的最大尝试次数(用于迁移)。
- `RETRY_BACKOFF`**3**: 每次 http/https 请求重试的退避时间(秒)。
- `ALLOWED_DOMAINS`**_empty_**: 允许迁移仓库的域名允许列表,默认为空。这意味着允许外部网址。多个域名可以用逗号分隔。支持通配符:`github.com, *.github.com`
- `BLOCKED_DOMAINS`**_empty_**: 阻止迁移仓库的域名阻止列表,默认为空。多个域名可以用逗号分隔。当 `ALLOWED_DOMAINS` 不为空时,此选项优先级较高,用于拒绝域名。支持通配符。
- `ALLOW_LOCALNETWORKS`**false**: 允许 RFC 1918、RFC 1122、RFC 4632 和 RFC 4291 中定义的私有地址。如果域名被 `ALLOWED_DOMAINS` 允许,此选项将被忽略。
- `SKIP_TLS_VERIFY`**false**: 允许跳过 TLS 验证。
## 联邦(`federation`
- `ENABLED`**false**启用/禁用联邦功能。
- `SHARE_USER_STATISTICS`**true**如果启用联邦,则启用/禁用节点信息的用户统计信息。
- `MAX_SIZE`**4**联邦请求和响应的最大大小MB
- `ENABLED`**false**: 启用/禁用联邦功能。
- `SHARE_USER_STATISTICS`**true**: 如果启用联邦,则启用/禁用节点信息的用户统计信息。
- `MAX_SIZE`**4**: 联邦请求和响应的最大大小MB
警告:更改以下设置可能会破坏联邦功能。
- `ALGORITHMS`**rsa-sha256, rsa-sha512, ed25519**HTTP 签名算法。
- `DIGEST_ALGORITHM`**SHA-256**HTTP 签名摘要算法。
- `GET_HEADERS`**(request-target), Date**用于联邦请求的 GET 头部。
- `POST_HEADERS`**(request-target), Date, Digest**用于联邦请求的 POST 头部。
- `ALGORITHMS`**rsa-sha256, rsa-sha512, ed25519**: HTTP 签名算法。
- `DIGEST_ALGORITHM`**SHA-256**: HTTP 签名摘要算法。
- `GET_HEADERS`**(request-target), Date**: 用于联邦请求的 GET 头部。
- `POST_HEADERS`**(request-target), Date, Digest**: 用于联邦请求的 POST 头部。
## 包(`packages`
- `ENABLED`**true**启用/禁用包注册表功能。
- `CHUNKED_UPLOAD_PATH`**tmp/package-upload**分块上传的路径。默认为 `APP_DATA_PATH` + `tmp/package-upload`
- `LIMIT_TOTAL_OWNER_COUNT`**-1**单个所有者可以拥有的包版本的最大数量(`-1` 表示无限制)。
- `LIMIT_TOTAL_OWNER_SIZE`**-1**单个所有者可以使用的包的最大大小(`-1` 表示无限制,格式为 `1000``1 MB``1 GiB`)。
- `LIMIT_SIZE_ALPINE`**-1**Alpine 上传的最大大小(`-1` 表示无限制,格式为 `1000``1 MB``1 GiB`)。
- `LIMIT_SIZE_CARGO`**-1**Cargo 上传的最大大小(`-1` 表示无限制,格式为 `1000``1 MB``1 GiB`)。
- `LIMIT_SIZE_CHEF`**-1**Chef 上传的最大大小(`-1` 表示无限制,格式为 `1000``1 MB``1 GiB`)。
- `LIMIT_SIZE_COMPOSER`**-1**Composer 上传的最大大小(`-1` 表示无限制,格式为 `1000``1 MB``1 GiB`)。
- `LIMIT_SIZE_CONAN`**-1**Conan 上传的最大大小(`-1` 表示无限制,格式为 `1000``1 MB``1 GiB`)。
- `LIMIT_SIZE_CONDA`**-1**Conda 上传的最大大小(`-1` 表示无限制,格式为 `1000``1 MB``1 GiB`)。
- `LIMIT_SIZE_CONTAINER`**-1**Container 上传的最大大小(`-1` 表示无限制,格式为 `1000``1 MB``1 GiB`)。
- `LIMIT_SIZE_CRAN`**-1**CRAN 上传的最大大小(`-1` 表示无限制,格式为 `1000``1 MB``1 GiB`)。
- `LIMIT_SIZE_DEBIAN`**-1**Debian 上传的最大大小(`-1` 表示无限制,格式为 `1000``1 MB``1 GiB`)。
- `LIMIT_SIZE_GENERIC`**-1**通用上传的最大大小(`-1` 表示无限制,格式为 `1000``1 MB``1 GiB`)。
- `LIMIT_SIZE_GO`**-1**Go 上传的最大大小(`-1` 表示无限制,格式为 `1000``1 MB``1 GiB`)。
- `LIMIT_SIZE_HELM`**-1**Helm 上传的最大大小(`-1` 表示无限制,格式为 `1000``1 MB``1 GiB`)。
- `LIMIT_SIZE_MAVEN`**-1**Maven 上传的最大大小(`-1` 表示无限制,格式为 `1000``1 MB``1 GiB`)。
- `LIMIT_SIZE_NPM`**-1**npm 上传的最大大小(`-1` 表示无限制,格式为 `1000``1 MB``1 GiB`)。
- `LIMIT_SIZE_NUGET`**-1**NuGet 上传的最大大小(`-1` 表示无限制,格式为 `1000``1 MB``1 GiB`)。
- `LIMIT_SIZE_PUB`**-1**Pub 上传的最大大小(`-1` 表示无限制,格式为 `1000``1 MB``1 GiB`)。
- `LIMIT_SIZE_PYPI`**-1**PyPI 上传的最大大小(`-1` 表示无限制,格式为 `1000``1 MB``1 GiB`)。
- `LIMIT_SIZE_RPM`**-1**RPM 上传的最大大小(`-1` 表示无限制,格式为 `1000``1 MB``1 GiB`)。
- `LIMIT_SIZE_RUBYGEMS`**-1**RubyGems 上传的最大大小(`-1` 表示无限制,格式为 `1000``1 MB``1 GiB`)。
- `LIMIT_SIZE_SWIFT`**-1**Swift 上传的最大大小(`-1` 表示无限制,格式为 `1000``1 MB``1 GiB`)。
- `LIMIT_SIZE_VAGRANT`**-1**Vagrant 上传的最大大小(`-1` 表示无限制,格式为 `1000``1 MB``1 GiB`)。
- `ENABLED`**true**: 启用/禁用包注册表功能。
- `CHUNKED_UPLOAD_PATH`**tmp/package-upload**: 分块上传的路径。默认为 `APP_DATA_PATH` + `tmp/package-upload`
- `LIMIT_TOTAL_OWNER_COUNT`**-1**: 单个所有者可以拥有的包版本的最大数量(`-1` 表示无限制)。
- `LIMIT_TOTAL_OWNER_SIZE`**-1**: 单个所有者可以使用的包的最大大小(`-1` 表示无限制,格式为 `1000``1 MB``1 GiB`)。
- `LIMIT_SIZE_ALPINE`**-1**: Alpine 上传的最大大小(`-1` 表示无限制,格式为 `1000``1 MB``1 GiB`)。
- `LIMIT_SIZE_CARGO`**-1**: Cargo 上传的最大大小(`-1` 表示无限制,格式为 `1000``1 MB``1 GiB`)。
- `LIMIT_SIZE_CHEF`**-1**: Chef 上传的最大大小(`-1` 表示无限制,格式为 `1000``1 MB``1 GiB`)。
- `LIMIT_SIZE_COMPOSER`**-1**: Composer 上传的最大大小(`-1` 表示无限制,格式为 `1000``1 MB``1 GiB`)。
- `LIMIT_SIZE_CONAN`**-1**: Conan 上传的最大大小(`-1` 表示无限制,格式为 `1000``1 MB``1 GiB`)。
- `LIMIT_SIZE_CONDA`**-1**: Conda 上传的最大大小(`-1` 表示无限制,格式为 `1000``1 MB``1 GiB`)。
- `LIMIT_SIZE_CONTAINER`**-1**: Container 上传的最大大小(`-1` 表示无限制,格式为 `1000``1 MB``1 GiB`)。
- `LIMIT_SIZE_CRAN`**-1**: CRAN 上传的最大大小(`-1` 表示无限制,格式为 `1000``1 MB``1 GiB`)。
- `LIMIT_SIZE_DEBIAN`**-1**: Debian 上传的最大大小(`-1` 表示无限制,格式为 `1000``1 MB``1 GiB`)。
- `LIMIT_SIZE_GENERIC`**-1**: 通用上传的最大大小(`-1` 表示无限制,格式为 `1000``1 MB``1 GiB`)。
- `LIMIT_SIZE_GO`**-1**: Go 上传的最大大小(`-1` 表示无限制,格式为 `1000``1 MB``1 GiB`)。
- `LIMIT_SIZE_HELM`**-1**: Helm 上传的最大大小(`-1` 表示无限制,格式为 `1000``1 MB``1 GiB`)。
- `LIMIT_SIZE_MAVEN`**-1**: Maven 上传的最大大小(`-1` 表示无限制,格式为 `1000``1 MB``1 GiB`)。
- `LIMIT_SIZE_NPM`**-1**: npm 上传的最大大小(`-1` 表示无限制,格式为 `1000``1 MB``1 GiB`)。
- `LIMIT_SIZE_NUGET`**-1**: NuGet 上传的最大大小(`-1` 表示无限制,格式为 `1000``1 MB``1 GiB`)。
- `LIMIT_SIZE_PUB`**-1**: Pub 上传的最大大小(`-1` 表示无限制,格式为 `1000``1 MB``1 GiB`)。
- `LIMIT_SIZE_PYPI`**-1**: PyPI 上传的最大大小(`-1` 表示无限制,格式为 `1000``1 MB``1 GiB`)。
- `LIMIT_SIZE_RPM`**-1**: RPM 上传的最大大小(`-1` 表示无限制,格式为 `1000``1 MB``1 GiB`)。
- `LIMIT_SIZE_RUBYGEMS`**-1**: RubyGems 上传的最大大小(`-1` 表示无限制,格式为 `1000``1 MB``1 GiB`)。
- `LIMIT_SIZE_SWIFT`**-1**: Swift 上传的最大大小(`-1` 表示无限制,格式为 `1000``1 MB``1 GiB`)。
- `LIMIT_SIZE_VAGRANT`**-1**: Vagrant 上传的最大大小(`-1` 表示无限制,格式为 `1000``1 MB``1 GiB`)。
## 镜像(`mirror`
- `ENABLED`**true**启用镜像功能。设置为 **false** 以禁用所有镜像。预先存在的镜像保持有效,但不会更新;可以转换为常规仓库。
- `DISABLE_NEW_PULL`**false**禁用创建**新的**拉取镜像。预先存在的镜像保持有效。如果 `mirror.ENABLED``false`,将被忽略。
- `DISABLE_NEW_PUSH`**false**禁用创建**新的**推送镜像。预先存在的镜像保持有效。如果 `mirror.ENABLED``false`,将被忽略。
- `DEFAULT_INTERVAL`**8h**每次检查之间的默认间隔。
- `MIN_INTERVAL`**10m**检查的最小间隔。(必须大于 1 分钟)。
- `ENABLED`**true**: 启用镜像功能。设置为 **false** 以禁用所有镜像。预先存在的镜像保持有效,但不会更新;可以转换为常规仓库。
- `DISABLE_NEW_PULL`**false**: 禁用创建**新的**拉取镜像。预先存在的镜像保持有效。如果 `mirror.ENABLED``false`,将被忽略。
- `DISABLE_NEW_PUSH`**false**: 禁用创建**新的**推送镜像。预先存在的镜像保持有效。如果 `mirror.ENABLED``false`,将被忽略。
- `DEFAULT_INTERVAL`**8h**: 每次检查之间的默认间隔。
- `MIN_INTERVAL`**10m**: 检查的最小间隔。(必须大于 1 分钟)。
## LFS (`lfs`)
用于 lfs 数据的存储配置。当将 `STORAGE_TYPE` 设置为 `xxx` 时,它将从默认的 `[storage]``[storage.xxx]` 派生。
当派生时,`PATH` 的默认值是 `data/lfs``MINIO_BASE_PATH` 的默认值是 `lfs/`
- `STORAGE_TYPE`**local**lfs 的存储类型,`local` 表示本地磁盘,`minio` 表示 S3 兼容对象存储服务,或者使用 `[storage.xxx]` 中定义的其他名称。
- `SERVE_DIRECT`**false**允许存储驱动程序重定向到经过身份验证的 URL 以直接提供文件。目前,仅支持通过签名的 URL 提供 Minio/S3本地不执行任何操作。
- `PATH`**./data/lfs**存储 LFS 文件的位置,仅在 `STORAGE_TYPE``local` 时可用。如果未设置,则回退到 `[server]` 部分中已弃用的 `LFS_CONTENT_PATH` 值。
- `MINIO_ENDPOINT`**localhost:9000**连接的 Minio 终端点,仅在 `STORAGE_TYPE``minio` 时可用。
- `STORAGE_TYPE`**local**: lfs 的存储类型,`local` 表示本地磁盘,`minio` 表示 S3 兼容对象存储服务,或者使用 `[storage.xxx]` 中定义的其他名称。
- `SERVE_DIRECT`**false**: 允许存储驱动程序重定向到经过身份验证的 URL 以直接提供文件。目前,仅支持通过签名的 URL 提供 Minio/S3本地不执行任何操作。
- `PATH`**./data/lfs**: 存储 LFS 文件的位置,仅在 `STORAGE_TYPE``local` 时可用。如果未设置,则回退到 `[server]` 部分中已弃用的 `LFS_CONTENT_PATH` 值。
- `MINIO_ENDPOINT`**localhost:9000**: 连接的 Minio 终端点,仅在 `STORAGE_TYPE``minio` 时可用。
- `MINIO_ACCESS_KEY_ID`Minio 的 accessKeyID仅在 `STORAGE_TYPE``minio` 时可用。
- `MINIO_SECRET_ACCESS_KEY`Minio 的 secretAccessKey仅在 `STORAGE_TYPE``minio` 时可用。
- `MINIO_BUCKET`**gitea**用于存储 lfs 的 Minio 桶,仅在 `STORAGE_TYPE``minio` 时可用。
- `MINIO_LOCATION`**us-east-1**创建桶的 Minio 位置,仅在 `STORAGE_TYPE``minio` 时可用。
- `MINIO_BASE_PATH`**lfs/**桶上的 Minio 基本路径,仅在 `STORAGE_TYPE``minio` 时可用。
- `MINIO_USE_SSL`**false**Minio 启用 ssl仅在 `STORAGE_TYPE``minio` 时可用。
- `MINIO_INSECURE_SKIP_VERIFY`**false**Minio 跳过 SSL 验证,仅在 `STORAGE_TYPE``minio` 时可用。
- `MINIO_BUCKET`**gitea**: 用于存储 lfs 的 Minio 桶,仅在 `STORAGE_TYPE``minio` 时可用。
- `MINIO_LOCATION`**us-east-1**: 创建桶的 Minio 位置,仅在 `STORAGE_TYPE``minio` 时可用。
- `MINIO_BASE_PATH`**lfs/**: 桶上的 Minio 基本路径,仅在 `STORAGE_TYPE``minio` 时可用。
- `MINIO_USE_SSL`**false**: Minio 启用 ssl仅在 `STORAGE_TYPE``minio` 时可用。
- `MINIO_INSECURE_SKIP_VERIFY`**false**: Minio 跳过 SSL 验证,仅在 `STORAGE_TYPE``minio` 时可用。
- `MINIO_BUCKET_LOOKUP_TYPE`: **auto**: Minio的bucket查找方式默认为`auto`模式,可将其设置为`dns`(虚拟托管样式)或`path`(路径样式),仅当`STORAGE_TYPE``minio`时可用。
## 存储 (`storage`)
默认的附件、lfs、头像、仓库头像、仓库归档、软件包、操作日志、artifacts 的存储配置。推荐仅仅配置此 section 并让其它的section 从此配置项继承。
- `STORAGE_TYPE`**local**存储类型,`local` 表示本地磁盘,`minio` 表示 S3`azureblob` 表示 azure 对象存储。
- `SERVE_DIRECT`**false**允许存储驱动程序重定向到经过身份验证的 URL 以直接提供文件。目前,仅支持通过签名的 URL 提供 Minio/S3本地不执行任何操作。
- `MINIO_ENDPOINT`**localhost:9000**连接的 Minio 终端点,仅在 `STORAGE_TYPE``minio` 时可用。
- `STORAGE_TYPE`**local**: 存储类型,`local` 表示本地磁盘,`minio` 表示 S3`azureblob` 表示 azure 对象存储。
- `SERVE_DIRECT`**false**: 允许存储驱动程序重定向到经过身份验证的 URL 以直接提供文件。目前,仅支持通过签名的 URL 提供 Minio/S3本地不执行任何操作。
- `MINIO_ENDPOINT`**localhost:9000**: 连接的 Minio 终端点,仅在 `STORAGE_TYPE``minio` 时可用。
- `MINIO_ACCESS_KEY_ID`Minio 的 accessKeyID仅在 `STORAGE_TYPE``minio` 时可用。
- `MINIO_SECRET_ACCESS_KEY`Minio 的 secretAccessKey仅在 `STORAGE_TYPE``minio` 时可用。
- `MINIO_BUCKET`**gitea**用于存储数据的 Minio 桶,仅在 `STORAGE_TYPE``minio` 时可用。
- `MINIO_LOCATION`**us-east-1**创建桶的 Minio 位置,仅在 `STORAGE_TYPE``minio` 时可用。
- `MINIO_USE_SSL`**false**Minio 启用 ssl仅在 `STORAGE_TYPE``minio` 时可用。
- `MINIO_INSECURE_SKIP_VERIFY`**false**Minio 跳过 SSL 验证,仅在 `STORAGE_TYPE``minio` 时可用。
- `MINIO_BUCKET`**gitea**: 用于存储数据的 Minio 桶,仅在 `STORAGE_TYPE``minio` 时可用。
- `MINIO_LOCATION`**us-east-1**: 创建桶的 Minio 位置,仅在 `STORAGE_TYPE``minio` 时可用。
- `MINIO_USE_SSL`**false**: Minio 启用 ssl仅在 `STORAGE_TYPE``minio` 时可用。
- `MINIO_INSECURE_SKIP_VERIFY`**false**: Minio 跳过 SSL 验证,仅在 `STORAGE_TYPE``minio` 时可用。
- `MINIO_BUCKET_LOOKUP_TYPE`: **auto**: Minio的bucket查找方式默认为`auto`模式,可将其设置为`dns`(虚拟托管样式)或`path`(路径样式),仅当`STORAGE_TYPE``minio`时可用。
- `AZURE_BLOB_ENDPOINT`: **_empty_**: Azure Blob 终端点,仅在 `STORAGE_TYPE``azureblob` 时可用。例如https://accountname.blob.core.windows.net 或 http://127.0.0.1:10000/devstoreaccount1
@@ -1297,23 +1297,23 @@ MINIO_BUCKET_LOOKUP_TYPE = auto
存储库归档存储的配置。当将`STORAGE_TYPE`设置为`xxx`时,它将继承默认的 `[storage]``[storage.xxx]` 配置。`PATH`的默认值是`data/repo-archive``MINIO_BASE_PATH`的默认值是`repo-archive/`
- `STORAGE_TYPE`: **local**存储类型,`local`表示本地磁盘,`minio`表示与S3兼容的对象存储服务或者使用定义为`[storage.xxx]`的其他名称。
- `SERVE_DIRECT`: **false**允许存储驱动程序重定向到经过身份验证的URL以直接提供文件。目前只有Minio/S3支持通过签名URL本地不执行任何操作。
- `PATH`: **./data/repo-archive**用于存储归档文件的位置,仅在`STORAGE_TYPE``local`时可用。
- `MINIO_ENDPOINT`: **localhost:9000**Minio端点仅在`STORAGE_TYPE``minio`时可用。
- `STORAGE_TYPE`: **local**: 存储类型,`local`表示本地磁盘,`minio`表示与S3兼容的对象存储服务或者使用定义为`[storage.xxx]`的其他名称。
- `SERVE_DIRECT`: **false**: 允许存储驱动程序重定向到经过身份验证的URL以直接提供文件。目前只有Minio/S3支持通过签名URL本地不执行任何操作。
- `PATH`: **./data/repo-archive**: 用于存储归档文件的位置,仅在`STORAGE_TYPE``local`时可用。
- `MINIO_ENDPOINT`: **localhost:9000**: Minio端点仅在`STORAGE_TYPE``minio`时可用。
- `MINIO_ACCESS_KEY_ID`: Minio的accessKeyID仅在`STORAGE_TYPE``minio`时可用。
- `MINIO_SECRET_ACCESS_KEY`: Minio的secretAccessKey仅在`STORAGE_TYPE``minio`时可用。
- `MINIO_BUCKET`: **gitea**用于存储归档的Minio存储桶仅在`STORAGE_TYPE``minio`时可用。
- `MINIO_LOCATION`: **us-east-1**用于创建存储桶的Minio位置仅在`STORAGE_TYPE``minio`时可用。
- `MINIO_BASE_PATH`: **repo-archive/**存储桶上的Minio基本路径仅在`STORAGE_TYPE``minio`时可用。
- `MINIO_USE_SSL`: **false**启用Minio的SSL仅在`STORAGE_TYPE``minio`时可用。
- `MINIO_INSECURE_SKIP_VERIFY`: **false**跳过Minio的SSL验证仅在`STORAGE_TYPE``minio`时可用。
- `MINIO_BUCKET`: **gitea**: 用于存储归档的Minio存储桶仅在`STORAGE_TYPE``minio`时可用。
- `MINIO_LOCATION`: **us-east-1**: 用于创建存储桶的Minio位置仅在`STORAGE_TYPE``minio`时可用。
- `MINIO_BASE_PATH`: **repo-archive/**: 存储桶上的Minio基本路径仅在`STORAGE_TYPE``minio`时可用。
- `MINIO_USE_SSL`: **false**: 启用Minio的SSL仅在`STORAGE_TYPE``minio`时可用。
- `MINIO_INSECURE_SKIP_VERIFY`: **false**: 跳过Minio的SSL验证仅在`STORAGE_TYPE``minio`时可用。
- `MINIO_BUCKET_LOOKUP_TYPE`: **auto**: Minio的bucket查找方式默认为`auto`模式,可将其设置为`dns`(虚拟托管样式)或`path`(路径样式),仅当`STORAGE_TYPE``minio`时可用。
### 存储库归档 (`repo-archive`)
- `STORAGE_TYPE`: **local**存储类型,用于操作日志,`local`表示本地磁盘,`minio`表示与S3兼容的对象存储服务默认为`local`,或者使用定义为`[storage.xxx]`的其他名称。
- `MINIO_BASE_PATH`: **repo-archive/**Minio存储桶上的基本路径仅在`STORAGE_TYPE``minio`时可用。
- `STORAGE_TYPE`: **local**: 存储类型,用于操作日志,`local`表示本地磁盘,`minio`表示与S3兼容的对象存储服务默认为`local`,或者使用定义为`[storage.xxx]`的其他名称。
- `MINIO_BASE_PATH`: **repo-archive/**: Minio存储桶上的基本路径仅在`STORAGE_TYPE``minio`时可用。
## 代理 (`proxy`)
@@ -1331,21 +1331,21 @@ PROXY_HOSTS = *.github.com
## Actions (`actions`)
- `ENABLED`: **true**启用/禁用操作功能
- `DEFAULT_ACTIONS_URL`: **github**获取操作插件的默认平台,`github`表示`https://github.com``self`表示当前的 Gitea 实例。
- `STORAGE_TYPE`: **local**用于操作日志的存储类型,`local`表示本地磁盘,`minio`表示与S3兼容的对象存储服务默认为`local`,或者使用定义为`[storage.xxx]`的其他名称。
- `MINIO_BASE_PATH`: **actions_log/**Minio存储桶上的基本路径仅在`STORAGE_TYPE``minio`时可用。
- `LOG_RETENTION_DAYS`: **365**日志保留时间(天)。此期限后将删除旧日志。
- `LOG_COMPRESSION`: **zstd**日志压缩方式,`none`表示不压缩,`zstd`表示 zstd 压缩。
- `ENABLED`: **true**: 启用/禁用操作功能
- `DEFAULT_ACTIONS_URL`: **github**: 获取操作插件的默认平台,`github`表示`https://github.com``self`表示当前的 Gitea 实例。
- `STORAGE_TYPE`: **local**: 用于操作日志的存储类型,`local`表示本地磁盘,`minio`表示与S3兼容的对象存储服务默认为`local`,或者使用定义为`[storage.xxx]`的其他名称。
- `MINIO_BASE_PATH`: **actions_log/**: Minio存储桶上的基本路径仅在`STORAGE_TYPE``minio`时可用。
- `LOG_RETENTION_DAYS`: **365**: 日志保留时间(天)。此期限后将删除旧日志。
- `LOG_COMPRESSION`: **zstd**: 日志压缩方式,`none`表示不压缩,`zstd`表示 zstd 压缩。
其它的压缩方式如`gzip`是不支持的,因为查看日志需要可寻址流。
如果 CPU 或内存不是瓶颈,建议在使用本地磁盘作为日志存储时总是使用压缩。
对于像 S3 这样的会对请求次数计费的对象存储服务,每次查看日志会导致额外的 2 次获取请求。
但它将节省存储空间和网络带宽,因此仍然建议使用压缩。
- `ARTIFACT_RETENTION_DAYS`: **90**保留 artifacts 的默认天数。可以通过在`actions/upload-artifact`步骤中设置`retention-days`选项来指定 artifacts 的保留期。
- `ZOMBIE_TASK_TIMEOUT`: **10m**僵尸任务超时时间,指具有运行状态但长时间未更新的任务。
- `ENDLESS_TASK_TIMEOUT`: **3h**无尽任务超时时间,指具有运行状态并持续更新,但长时间未结束的任务。
- `ABANDONED_JOB_TIMEOUT`: **24h**被遗弃的作业超时时间,指具有等待状态但长时间未被 runner 选中并执行的作业。
- `SKIP_WORKFLOW_STRINGS`: **[skip ci],[ci skip],[no ci],[skip actions],[actions skip]**提交者可以在提交消息或 PR 标题中放置的字符串,以跳过执行相应的工作流。
- `ARTIFACT_RETENTION_DAYS`: **90**: 保留 artifacts 的默认天数。可以通过在`actions/upload-artifact`步骤中设置`retention-days`选项来指定 artifacts 的保留期。
- `ZOMBIE_TASK_TIMEOUT`: **10m**: 僵尸任务超时时间,指具有运行状态但长时间未更新的任务。
- `ENDLESS_TASK_TIMEOUT`: **3h**: 无尽任务超时时间,指具有运行状态并持续更新,但长时间未结束的任务。
- `ABANDONED_JOB_TIMEOUT`: **24h**: 被遗弃的作业超时时间,指具有等待状态但长时间未被 runner 选中并执行的作业。
- `SKIP_WORKFLOW_STRINGS`: **[skip ci],[ci skip],[no ci],[skip actions],[actions skip]**: 提交者可以在提交消息或 PR 标题中放置的字符串,以跳过执行相应的工作流。
`DEFAULT_ACTIONS_URL` 指示 Gitea 操作运行程序应该在哪里找到带有相对路径的操作。
例如,`uses: actions/checkout@v4` 表示 `https://github.com/actions/checkout@v4`,因为 `DEFAULT_ACTIONS_URL` 的值为 `github`

View File

@@ -191,7 +191,7 @@ aliases:
- `PROVIDER`: Session 内容存储方式,可选 `memory`, `file`, `redis``mysql`
- `PROVIDER_CONFIG`: 如果是文件,那么这里填根目录;其他的要填主机地址和端口。
- `COOKIE_SECURE`: **_empty_**`true``false`。启用此选项以强制在所有会话访问中使用 HTTPS。如果没有设置当 ROOT_URL 是 https 链接的时候默认设置为 true。
- `COOKIE_SECURE`: **_empty_**: `true``false`。启用此选项以强制在所有会话访问中使用 HTTPS。如果没有设置当 ROOT_URL 是 https 链接的时候默认设置为 true。
- `GC_INTERVAL_TIME`: Session失效时间。
## Picture (`picture`)

View File

@@ -288,15 +288,15 @@ aliases:
静态文件位于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 监听地址。
- `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 监听端口。
- `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/**
- `UNIX_SOCKET_PERMISSION`: **666**: Unix 套接字的权限。
- `LOCAL_ROOT_URL`: **%(PROTOCOL)s://%(HTTP_ADDR)s:%(HTTP_PORT)s/**:
用于访问网络服务的 Gitea 工作器(例如 SSH 更新的本地DMZURL。
在大多数情况下,您不需要更改默认值。
仅在您的 SSH 服务器节点与 HTTP 节点不同的情况下才修改它。对于不同的协议,默认值不同。如果 `PROTOCOL`
@@ -304,63 +304,63 @@ aliases:
`%(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 协议头。
- `LOCAL_USE_PROXY_PROTOCOL`: **%(USE_PROXY_PROTOCOL)s**: 在进行本地连接时传递 PROXY 协议头。
如果本地连接将经过代理,请将其设置为 false。
- `PER_WRITE_TIMEOUT`: **30s**连接的任何写操作的超时时间。(将其设置为 -1
- `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-<algorithm> <key>` 或 `ssh-<algorithm> <key1>, ssh-<algorithm> <key2>`。有关详细信息,请参阅 `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`_**模板和静态文件路径的上一级。
- `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-<algorithm> <key>` 或 `ssh-<algorithm> <key1>, ssh-<algorithm> <key2>`。有关详细信息,请参阅 `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)_<username>_<temporary id>`。
- `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**设置首选的密码套件。
- `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)_<username>_<temporary id>`。
- `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 套件
@@ -393,25 +393,25 @@ aliases:
- 别名
- "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的打开来确定。索引程序可能需要更长时间启动可能具有自己的超时时间。
- `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。
- `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。
@@ -423,52 +423,52 @@ aliases:
- `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`**false**记录已执行的 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**是否自动执行数据库模型迁移。
- `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`**false**: 记录已执行的 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`_ 进行绝对路径化。
- `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_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](https://github.com/gobwas/glob))以用于**包括**在索引中。使用 `**.txt` 匹配任何具有 .txt 扩展名的文件。空列表表示包括所有文件。
- `REPO_INDEXER_EXCLUDE`**empty**逗号分隔的 glob 模式列表(参见 [https://github.com/gobwas/glob](https://github.com/gobwas/glob))以用于**排除**在索引中。即使在 `REPO_INDEXER_INCLUDE` 中匹配,也不会索引与此列表匹配的文件。
- `REPO_INDEXER_EXCLUDE_VENDORED`**true**从索引中排除 vendored 文件。
- `MAX_FILE_SIZE`**1048576**要索引的文件的最大字节数。
- `STARTUP_TIMEOUT`**30s**如果索引器启动时间超过此超时时间 - 则失败。(此超时时间将添加到上面的锤子时间中,用于子进程 - 因为 bleve 不会在上一个父进程关闭之前启动)。设置为 -1 表示永不超时。
- `REPO_INDEXER_INCLUDE`**empty**: 逗号分隔的 glob 模式列表(参见 [https://github.com/gobwas/glob](https://github.com/gobwas/glob))以用于**包括**在索引中。使用 `**.txt` 匹配任何具有 .txt 扩展名的文件。空列表表示包括所有文件。
- `REPO_INDEXER_EXCLUDE`**empty**: 逗号分隔的 glob 模式列表(参见 [https://github.com/gobwas/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`**100000**通道队列阻塞之前的最大队列大小
- `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 之间。
- `TYPE`**level**: 通用队列类型,当前支持:`level`(在内部使用 LevelDB`channel``redis``dummy`。无效的类型将视为 `level`
- `DATADIR`**queues/common**: 用于存储 level 队列的基本 DataDir。单独的队列的 `DATADIR` 可以在 `queue.name` 部分进行设置。相对路径将根据 `%(APP_DATA_PATH)s` 变为绝对路径。
- `LENGTH`**100000**: 通道队列阻塞之前的最大队列大小
- `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 创建以下非唯一队列:
@@ -488,35 +488,35 @@ Gitea 创建以下非唯一队列:
## Admin (`admin`)
- `DEFAULT_EMAIL_NOTIFICATIONS`: **enabled**用户电子邮件通知的默认配置用户可配置。选项enabled、onmention、disabled
- `DISABLE_REGULAR_ORG_CREATION`: **false**禁止普通(非管理员)用户创建组织。
- `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。
- `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 钩子。
- `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 将消耗大量内存。
- `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$<time>$<memory>$<threads>$<key-length>`
@@ -532,106 +532,106 @@ Gitea 创建以下非唯一队列:
- `pbkdf2_hi``pbkdf2$320000$50`
- `scrypt``scrypt$65536$16$2$50`
- 使用此功能调整算法参数存在一定风险。
- `CSRF_COOKIE_HTTP_ONLY`: **true**设置为 false 以允许 JavaScript 读取 CSRF cookie。
- `MIN_PASSWORD_LENGTH`: **6**新用户的最小密码长度。
- `PASSWORD_COMPLEXITY`: **off**要求通过最小复杂性的字符类别的逗号分隔列表。如果留空或没有指定有效值则禁用检查off
- `CSRF_COOKIE_HTTP_ONLY`: **true**: 设置为 false 以允许 JavaScript 读取 CSRF cookie。
- `MIN_PASSWORD_LENGTH`: **6**: 新用户的最小密码长度。
- `PASSWORD_COMPLEXITY`: **off**: 要求通过最小复杂性的字符类别的逗号分隔列表。如果留空或没有指定有效值则禁用检查off
- lower - 使用一个或多个小写拉丁字符
- upper - 使用一个或多个大写拉丁字符
- digit - 使用一个或多个数字
- spec - 使用一个或多个特殊字符,如 ``!"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~``
- off - 不检查密码复杂性
- `PASSWORD_CHECK_PWN`: **false**检查密码是否在 [HaveIBeenPwned](https://haveibeenpwned.com/Passwords) 中曝光。
- `SUCCESSFUL_TOKENS_CACHE_SIZE`: **20**缓存成功的令牌哈希。API 令牌在数据库中存储为 pbkdf2 哈希,但这意味着在存在多个 API 操作时可能会有显着的哈希负载。此缓存将在 LRU 缓存中存储成功的哈希令牌,以在性能和安全性之间保持平衡。
- `PASSWORD_CHECK_PWN`: **false**: 检查密码是否在 [HaveIBeenPwned](https://haveibeenpwned.com/Passwords) 中曝光。
- `SUCCESSFUL_TOKENS_CACHE_SIZE`: **20**: 缓存成功的令牌哈希。API 令牌在数据库中存储为 pbkdf2 哈希,但这意味着在存在多个 API 操作时可能会有显着的哈希负载。此缓存将在 LRU 缓存中存储成功的哈希令牌,以在性能和安全性之间保持平衡。
## Camo (`camo`)
- `ENABLED`: **false**启用媒体代理,目前仅支持图像。
- `SERVER_URL`: **_empty_**Camo服务器的URL如果启用camo则**必填**。
- `HMAC_KEY`: **_empty_**为URL编码提供HMAC密钥如果启用camo则**必填**。
- `ALLWAYS`: **false**设置为true以在HTTP和HTTPS内容上使用camo否则仅代理非HTTPS URL。
- `ENABLED`: **false**: 启用媒体代理,目前仅支持图像。
- `SERVER_URL`: **_empty_**: Camo服务器的URL如果启用camo则**必填**。
- `HMAC_KEY`: **_empty_**: 为URL编码提供HMAC密钥如果启用camo则**必填**。
- `ALLWAYS`: **false**: 设置为true以在HTTP和HTTPS内容上使用camo否则仅代理非HTTPS URL。
## OpenID (`openid`)
- `ENABLE_OPENID_SIGNIN`: **true**允许通过OpenID进行身份验证。
- `ENABLE_OPENID_SIGNUP`: **! DISABLE\_REGISTRATION**允许通过OpenID进行注册。
- `WHITELISTED_URIS`: **_empty_**如果非空是一组匹配OpenID URI的POSIX正则表达式模式用于允许访问。
- `BLACKLISTED_URIS`: **_empty_**如果非空是一组匹配OpenID URI的POSIX正则表达式模式用于阻止访问。
- `ENABLE_OPENID_SIGNIN`: **true**: 允许通过OpenID进行身份验证。
- `ENABLE_OPENID_SIGNUP`: **! DISABLE\_REGISTRATION**: 允许通过OpenID进行注册。
- `WHITELISTED_URIS`: **_empty_**: 如果非空是一组匹配OpenID URI的POSIX正则表达式模式用于允许访问。
- `BLACKLISTED_URIS`: **_empty_**: 如果非空是一组匹配OpenID URI的POSIX正则表达式模式用于阻止访问。
## OAuth2 Client (`oauth2_client`)
- `REGISTER_EMAIL_CONFIRM`: _[service]_ **REGISTER\_EMAIL\_CONFIRM**设置此项以启用或禁用OAuth2自动注册的电子邮件确认。覆盖`[service]`部分的`REGISTER\_EMAIL\_CONFIRM`设置)
- `OPENID_CONNECT_SCOPES`: **_empty_**附加的OpenID连接范围的列表。`openid`已隐式添加)
- `ENABLE_AUTO_REGISTRATION`: **false**为新的OAuth2用户自动创建用户帐户。
- `USERNAME`: **nickname**新OAuth2帐户的用户名来源
- `REGISTER_EMAIL_CONFIRM`: _[service]_ **REGISTER\_EMAIL\_CONFIRM**: 设置此项以启用或禁用OAuth2自动注册的电子邮件确认。覆盖`[service]`部分的`REGISTER\_EMAIL\_CONFIRM`设置)
- `OPENID_CONNECT_SCOPES`: **_empty_**: 附加的OpenID连接范围的列表。`openid`已隐式添加)
- `ENABLE_AUTO_REGISTRATION`: **false**: 为新的OAuth2用户自动创建用户帐户。
- `USERNAME`: **nickname**: 新OAuth2帐户的用户名来源
- userid - 使用userid / sub属性
- nickname - 使用nickname属性
- email - 使用email属性的用户名部分
- `UPDATE_AVATAR`: **false**如果OAuth2提供程序中有可用的头像则进行头像更新。更新将在每次登录时执行。
- `ACCOUNT_LINKING`: **login**如果帐户/电子邮件已存在,如何处理:
- `UPDATE_AVATAR`: **false**: 如果OAuth2提供程序中有可用的头像则进行头像更新。更新将在每次登录时执行。
- `ACCOUNT_LINKING`: **login**: 如果帐户/电子邮件已存在,如何处理:
- disabled - 显示错误
- login - 显示帐户链接登录
- auto - 自动与帐户链接(请注意,这将因为提供相同的用户名或电子邮件而自动授予现有帐户的访问权限。您必须确保这不会导致身份验证提供程序出现问题。)
## Service (`service`)
- `ACTIVE_CODE_LIVE_MINUTES`: **180**确认帐户/电子邮件注册的时间限制(分钟)。
- `RESET_PASSWD_CODE_LIVE_MINUTES`: **180**确认忘记密码重置流程的时间限制(分钟)。
- `REGISTER_EMAIL_CONFIRM`: **false**启用此项以要求通过邮件确认注册。需要启用`Mailer`
- `REGISTER_MANUAL_CONFIRM`: **false**启用此项以手动确认新的注册。需要禁用`REGISTER_EMAIL_CONFIRM`
- `DISABLE_REGISTRATION`: **false**禁用注册,之后只有管理员可以为用户创建帐户。
- `REQUIRE_EXTERNAL_REGISTRATION_PASSWORD`: **false**启用此项以强制通过外部方式创建的帐户通过GitHub、OpenID Connect等创建密码。警告启用此项将降低安全性因此只有在您知道自己在做什么时才应启用它。
- `REQUIRE_SIGNIN_VIEW`: **false**启用此项以强制用户登录以查看任何页面或使用API。
- `ENABLE_NOTIFY_MAIL`: **false**启用此项以在发生某些情况(如创建问题)时向存储库的观察者发送电子邮件。需要启用`Mailer`
- `ENABLE_BASIC_AUTHENTICATION`: **true**禁用此项以禁止使用HTTP BASIC和用户的密码进行身份验证。请注意如果禁用此项您将无法使用密码访问令牌API端点。此外这仅会禁用使用密码的BASIC身份验证而不会禁用令牌或OAuth Basic。
- `ENABLE_REVERSE_PROXY_AUTHENTICATION`: **false**启用此项以允许反向代理身份验证。
- `ENABLE_REVERSE_PROXY_AUTO_REGISTRATION`: **false**启用此项以允许反向身份验证的自动注册。
- `ENABLE_REVERSE_PROXY_EMAIL`: **false**启用此项以允许使用提供的电子邮件而不是生成的电子邮件进行自动注册。
- `ENABLE_REVERSE_PROXY_FULL_NAME`: **false**启用此项以允许使用提供的全名进行自动注册。
- `ENABLE_CAPTCHA`: **false**启用此项以对注册使用验证码验证。
- `REQUIRE_CAPTCHA_FOR_LOGIN`: **false**启用此项以要求登录使用验证码验证。您还必须启用`ENABLE_CAPTCHA`
- `REQUIRE_EXTERNAL_REGISTRATION_CAPTCHA`: **false**启用此项以强制对外部帐户即GitHub、OpenID Connect等使用验证码验证。您还必须启用`ENABLE_CAPTCHA`
- `CAPTCHA_TYPE`: **image**\[image、recaptcha、hcaptcha、mcaptcha、cfturnstile\]
- `RECAPTCHA_SECRET`: **""**访问https://www.google.com/recaptcha/admin以获取recaptcha的密钥。
- `RECAPTCHA_SITEKEY`: **""**访问https://www.google.com/recaptcha/admin以获取recaptcha的站点密钥。
- `RECAPTCHA_URL`: **https://www.google.com/recaptcha/**设置recaptcha网址允许使用recaptcha net。
- `HCAPTCHA_SECRET`: **""**注册https://www.hcaptcha.com/以获取hcaptcha的密钥。
- `HCAPTCHA_SITEKEY`: **""**注册https://www.hcaptcha.com/以获取hcaptcha的站点密钥。
- `MCAPTCHA_SECRET`: **""**访问您的mCaptcha实例以获取mCaptcha的密钥。
- `MCAPTCHA_SITEKEY`: **""**访问您的mCaptcha实例以获取mCaptcha的站点密钥。
- `MCAPTCHA_URL` **https://demo.mcaptcha.org/**设置mCaptcha的URL。
- `CF_TURNSTILE_SECRET` **""**访问https://dash.cloudflare.com/?to=/:account/turnstile以获取cloudflare turnstile的密钥。
- `CF_TURNSTILE_SITEKEY` **""**访问https://dash.cloudflare.com/?to=/:account/turnstile以获取cloudflare turnstile的站点密钥。
- `DEFAULT_KEEP_EMAIL_PRIVATE`: **false**默认情况下,将用户设置为保持其电子邮件地址私有。
- `DEFAULT_ALLOW_CREATE_ORGANIZATION`: **true**默认情况下,允许新用户创建组织。
- `DEFAULT_USER_IS_RESTRICTED`: **false**默认情况下,为新用户分配受限权限。
- `DEFAULT_ENABLE_DEPENDENCIES`: **true**启用此项以默认启用依赖项。
- `ACTIVE_CODE_LIVE_MINUTES`: **180**: 确认帐户/电子邮件注册的时间限制(分钟)。
- `RESET_PASSWD_CODE_LIVE_MINUTES`: **180**: 确认忘记密码重置流程的时间限制(分钟)。
- `REGISTER_EMAIL_CONFIRM`: **false**: 启用此项以要求通过邮件确认注册。需要启用`Mailer`
- `REGISTER_MANUAL_CONFIRM`: **false**: 启用此项以手动确认新的注册。需要禁用`REGISTER_EMAIL_CONFIRM`
- `DISABLE_REGISTRATION`: **false**: 禁用注册,之后只有管理员可以为用户创建帐户。
- `REQUIRE_EXTERNAL_REGISTRATION_PASSWORD`: **false**: 启用此项以强制通过外部方式创建的帐户通过GitHub、OpenID Connect等创建密码。警告启用此项将降低安全性因此只有在您知道自己在做什么时才应启用它。
- `REQUIRE_SIGNIN_VIEW`: **false**: 启用此项以强制用户登录以查看任何页面或使用API。
- `ENABLE_NOTIFY_MAIL`: **false**: 启用此项以在发生某些情况(如创建问题)时向存储库的观察者发送电子邮件。需要启用`Mailer`
- `ENABLE_BASIC_AUTHENTICATION`: **true**: 禁用此项以禁止使用HTTP BASIC和用户的密码进行身份验证。请注意如果禁用此项您将无法使用密码访问令牌API端点。此外这仅会禁用使用密码的BASIC身份验证而不会禁用令牌或OAuth Basic。
- `ENABLE_REVERSE_PROXY_AUTHENTICATION`: **false**: 启用此项以允许反向代理身份验证。
- `ENABLE_REVERSE_PROXY_AUTO_REGISTRATION`: **false**: 启用此项以允许反向身份验证的自动注册。
- `ENABLE_REVERSE_PROXY_EMAIL`: **false**: 启用此项以允许使用提供的电子邮件而不是生成的电子邮件进行自动注册。
- `ENABLE_REVERSE_PROXY_FULL_NAME`: **false**: 启用此项以允许使用提供的全名进行自动注册。
- `ENABLE_CAPTCHA`: **false**: 启用此项以对注册使用验证码验证。
- `REQUIRE_CAPTCHA_FOR_LOGIN`: **false**: 启用此项以要求登录使用验证码验证。您还必须启用`ENABLE_CAPTCHA`
- `REQUIRE_EXTERNAL_REGISTRATION_CAPTCHA`: **false**: 启用此项以强制对外部帐户即GitHub、OpenID Connect等使用验证码验证。您还必须启用`ENABLE_CAPTCHA`
- `CAPTCHA_TYPE`: **image**: \[image、recaptcha、hcaptcha、mcaptcha、cfturnstile\]
- `RECAPTCHA_SECRET`: **""**: 访问 https://www.google.com/recaptcha/admin 以获取recaptcha的密钥。
- `RECAPTCHA_SITEKEY`: **""**: 访问 https://www.google.com/recaptcha/admin 以获取recaptcha的站点密钥。
- `RECAPTCHA_URL`: **https://www.google.com/recaptcha/**: 设置recaptcha网址允许使用recaptcha net。
- `HCAPTCHA_SECRET`: **""**: 注册 https://www.hcaptcha.com/ 以获取hcaptcha的密钥。
- `HCAPTCHA_SITEKEY`: **""**: 注册 https://www.hcaptcha.com/ 以获取hcaptcha的站点密钥。
- `MCAPTCHA_SECRET`: **""**: 访问您的mCaptcha实例以获取mCaptcha的密钥。
- `MCAPTCHA_SITEKEY`: **""**: 访问您的mCaptcha实例以获取mCaptcha的站点密钥。
- `MCAPTCHA_URL` **https://demo.mcaptcha.org/**: 设置mCaptcha的URL。
- `CF_TURNSTILE_SECRET` **""**: 访问 https://dash.cloudflare.com/?to=/:account/turnstile 以获取cloudflare turnstile的密钥。
- `CF_TURNSTILE_SITEKEY` **""**: 访问 https://dash.cloudflare.com/?to=/:account/turnstile 以获取cloudflare turnstile的站点密钥。
- `DEFAULT_KEEP_EMAIL_PRIVATE`: **false**: 默认情况下,将用户设置为保持其电子邮件地址私有。
- `DEFAULT_ALLOW_CREATE_ORGANIZATION`: **true**: 默认情况下,允许新用户创建组织。
- `DEFAULT_USER_IS_RESTRICTED`: **false**: 默认情况下,为新用户分配受限权限。
- `DEFAULT_ENABLE_DEPENDENCIES`: **true**: 启用此项以默认启用依赖项。
- `ALLOW_CROSS_REPOSITORY_DEPENDENCIES` : **true** 启用此项以允许从用户被授予访问权限的任何存储库上进行依赖项操作。
- `USER_LOCATION_MAP_URL`: **""**一个显示用户在地图上位置的地图服务URL。位置将作为转义的查询参数附加到URL中。
- `ENABLE_USER_HEATMAP`: **true**启用此项以在用户个人资料上显示热图。
- `ENABLE_TIMETRACKING`: **true**启用时间跟踪功能。
- `DEFAULT_ENABLE_TIMETRACKING`: **true**默认情况下,允许存储库默认使用时间跟踪。
- `DEFAULT_ALLOW_ONLY_CONTRIBUTORS_TO_TRACK_TIME`: **true**仅允许具有写权限的用户跟踪时间。
- `EMAIL_DOMAIN_ALLOWLIST`: **_empty_**如果非空,逗号分隔的域名列表,只能用于在此实例上注册,支持通配符。
- `EMAIL_DOMAIN_BLOCKLIST`: **_empty_**如果非空,逗号分隔的域名列表,不能用于在此实例上注册,支持通配符。
- `SHOW_REGISTRATION_BUTTON`: **! DISABLE\_REGISTRATION**显示注册按钮
- `USER_LOCATION_MAP_URL`: **""**: 一个显示用户在地图上位置的地图服务URL。位置将作为转义的查询参数附加到URL中。
- `ENABLE_USER_HEATMAP`: **true**: 启用此项以在用户个人资料上显示热图。
- `ENABLE_TIMETRACKING`: **true**: 启用时间跟踪功能。
- `DEFAULT_ENABLE_TIMETRACKING`: **true**: 默认情况下,允许存储库默认使用时间跟踪。
- `DEFAULT_ALLOW_ONLY_CONTRIBUTORS_TO_TRACK_TIME`: **true**: 仅允许具有写权限的用户跟踪时间。
- `EMAIL_DOMAIN_ALLOWLIST`: **_empty_**: 如果非空,逗号分隔的域名列表,只能用于在此实例上注册,支持通配符。
- `EMAIL_DOMAIN_BLOCKLIST`: **_empty_**: 如果非空,逗号分隔的域名列表,不能用于在此实例上注册,支持通配符。
- `SHOW_REGISTRATION_BUTTON`: **! DISABLE\_REGISTRATION**: 显示注册按钮
- `SHOW_MILESTONES_DASHBOARD_PAGE`: **true** 启用此项以显示里程碑仪表板页面 - 查看所有用户的里程碑
- `AUTO_WATCH_NEW_REPOS`: **true** 启用此项以在创建新存储库时让所有组织用户观看新存储库
- `AUTO_WATCH_ON_CHANGES`: **false** 启用此项以在首次提交后使用户观看存储库
- `DEFAULT_USER_VISIBILITY`: **public**为用户设置默认的可见性模式,可以是"public"、"limited"或"private"。
- `ALLOWED_USER_VISIBILITY_MODES`: **public,limited,private**设置用户可以具有的可见性模式
- `DEFAULT_ORG_VISIBILITY`: **public**为组织设置默认的可见性模式,可以是"public"、"limited"或"private"。
- `DEFAULT_ORG_MEMBER_VISIBLE`: **false**如果添加到组织时将用户的成员身份可见设置为True。
- `ALLOW_ONLY_INTERNAL_REGISTRATION`: **false**设置为True以强制仅通过Gitea进行注册。
- `ALLOW_ONLY_EXTERNAL_REGISTRATION`: **false**设置为True以强制仅使用第三方服务进行注册。
- `NO_REPLY_ADDRESS`: **noreply.DOMAIN**如果用户将KeepEmailPrivate设置为True则在Git日志中的用户电子邮件地址的域部分的值。DOMAIN解析为server.DOMAIN中的值。
- `DEFAULT_USER_VISIBILITY`: **public**: 为用户设置默认的可见性模式,可以是"public"、"limited"或"private"。
- `ALLOWED_USER_VISIBILITY_MODES`: **public,limited,private**: 设置用户可以具有的可见性模式
- `DEFAULT_ORG_VISIBILITY`: **public**: 为组织设置默认的可见性模式,可以是"public"、"limited"或"private"。
- `DEFAULT_ORG_MEMBER_VISIBLE`: **false**: 如果添加到组织时将用户的成员身份可见设置为True。
- `ALLOW_ONLY_INTERNAL_REGISTRATION`: **false**: 设置为True以强制仅通过Gitea进行注册。
- `ALLOW_ONLY_EXTERNAL_REGISTRATION`: **false**: 设置为True以强制仅使用第三方服务进行注册。
- `NO_REPLY_ADDRESS`: **noreply.DOMAIN**: 如果用户将KeepEmailPrivate设置为True则在Git日志中的用户电子邮件地址的域部分的值。DOMAIN解析为server.DOMAIN中的值。
用户的电子邮件将被替换为小写的用户名、"@"和NO_REPLY_ADDRESS的连接。
- `USER_DELETE_WITH_COMMENTS_MAX_TIME`: **0**用户删除后,评论将保留的最短时间。
- `VALID_SITE_URL_SCHEMES`: **http, https**用户个人资料的有效站点URL方案
- `USER_DELETE_WITH_COMMENTS_MAX_TIME`: **0**: 用户删除后,评论将保留的最短时间。
- `VALID_SITE_URL_SCHEMES`: **http, https**: 用户个人资料的有效站点URL方案
### Service - Explore (`service.explore`)
- `REQUIRE_SIGNIN_VIEW`: **false**仅允许已登录的用户查看探索页面。
- `DISABLE_USERS_PAGE`: **false**禁用用户探索页面。
- `REQUIRE_SIGNIN_VIEW`: **false**: 仅允许已登录的用户查看探索页面。
- `DISABLE_USERS_PAGE`: **false**: 禁用用户探索页面。
## SSH Minimum Key Sizes (`ssh.minimum_key_sizes`)
@@ -639,14 +639,14 @@ Gitea 创建以下非唯一队列:
- `ED25519`**256**
- `ECDSA`**256**
- `RSA`**3071**我们在这里设置为2047因为一个其他方面有效的3072 RSA密钥可能被报告为3071长度。
- `DSA`**-1**默认情况下禁用DSA。设置为**1024**以重新启用但请注意可能需要重新配置您的SSHD提供者
- `RSA`**3071**: 我们在这里设置为2047因为一个其他方面有效的3072 RSA密钥可能被报告为3071长度。
- `DSA`**-1**: 默认情况下禁用DSA。设置为**1024**以重新启用但请注意可能需要重新配置您的SSHD提供者
## Webhook (`webhook`)
- `QUEUE_LENGTH`: **1000**钩子任务队列长度。编辑此值时要小心。
- `DELIVER_TIMEOUT`: **5**发送 Webhook 的交付超时时间(秒)。
- `ALLOWED_HOST_LIST`: **external**出于安全原因Webhook 仅能调用允许的主机。以逗号分隔的列表。
- `QUEUE_LENGTH`: **1000**: 钩子任务队列长度。编辑此值时要小心。
- `DELIVER_TIMEOUT`: **5**: 发送 Webhook 的交付超时时间(秒)。
- `ALLOWED_HOST_LIST`: **external**: 出于安全原因Webhook 仅能调用允许的主机。以逗号分隔的列表。
- 内置网络:
- `loopback`IPv4 的 127.0.0.0/8 和 IPv6 的 ::1/128包括 localhost。
- `private`RFC 191810.0.0.0/8172.16.0.0/12192.168.0.0/16和 RFC 4193FC00::/7。也称为 LAN/Intranet。
@@ -654,10 +654,10 @@ Gitea 创建以下非唯一队列:
- `*`:允许所有主机。
- CIDR 列表IPv4 的 `1.2.3.0/8` 和 IPv6 的 `2001:db8::/32`
- 通配符主机:`*.mydomain.com``192.168.100.*`
- `SKIP_TLS_VERIFY`: **false**允许不安全的证书。
- `PAGING_NUM`: **10**一页中显示的 Webhook 历史事件数量。
- `PROXY_URL`: **_empty_**代理服务器 URL支持 http://、https://、socks://,留空将遵循环境的 http_proxy/https_proxy 设置。如果未提供,将使用全局代理设置。
- `PROXY_HOSTS`: **_empty_**需要代理的主机名的逗号分隔列表。支持通配符模式 (*);使用 ** 来匹配所有主机。如果未提供,将使用全局代理设置。
- `SKIP_TLS_VERIFY`: **false**: 允许不安全的证书。
- `PAGING_NUM`: **10**: 一页中显示的 Webhook 历史事件数量。
- `PROXY_URL`: **_empty_**: 代理服务器 URL支持 http://、https://、socks://,留空将遵循环境的 http_proxy/https_proxy 设置。如果未提供,将使用全局代理设置。
- `PROXY_HOSTS`: **_empty_**: 需要代理的主机名的逗号分隔列表。支持通配符模式 (*);使用 ** 来匹配所有主机。如果未提供,将使用全局代理设置。
## 邮件 (`mailer`)
@@ -666,50 +666,50 @@ Gitea 创建以下非唯一队列:
[Gitea 1.17 配置文档](https://github.com/go-gitea/gitea/blob/release/v1.17/docs/content/doc/advanced/config-cheat-sheet.en-us.md)
- `ENABLED`: **false**是否启用邮件服务。
- `PROTOCOL`: **_empty_**邮件服务协议,可选择 "smtp"、"smtps"、"smtp+starttls"、"smtp+unix"、"sendmail"、"dummy"。在 Gitea 1.18 之前,邮件服务协议由 `MAILER_TYPE``IS_TLS_ENABLED` 两个配置共同决定。
- `ENABLED`: **false**: 是否启用邮件服务。
- `PROTOCOL`: **_empty_**: 邮件服务协议,可选择 "smtp"、"smtps"、"smtp+starttls"、"smtp+unix"、"sendmail"、"dummy"。在 Gitea 1.18 之前,邮件服务协议由 `MAILER_TYPE``IS_TLS_ENABLED` 两个配置共同决定。
- SMTP 类族,如果您的提供者没有明确说明使用的是哪个协议,但提供了一个端口,您可以设置 SMTP_PORT它将被推断出来。
- **sendmail** 使用操作系统的 `sendmail` 命令,而不是 SMTP。这在 Linux 系统上很常见。
- **dummy** 将邮件消息发送到日志,作为测试阶段。
- 请注意,启用 sendmail 将忽略所有其他 `mailer` 设置,除了 `ENABLED``FROM``SUBJECT_PREFIX``SENDMAIL_PATH`
- 启用 dummy 将忽略所有设置,除了 `ENABLED``SUBJECT_PREFIX``FROM`
- `SMTP_ADDR`: **_empty_**邮件服务器地址,例如 smtp.gmail.com。对于 smtp+unix这应该是一个到 unix socket 的路径。在 1.18 之前,此设置与 `SMTP_PORT` 合并,名称为 `HOST`
- `SMTP_PORT`: **_empty_**邮件服务器端口。如果未指定协议,将通过此设置进行推断。常用端口如下。在 1.18 之前,此设置与 `SMTP_ADDR` 合并,名称为 `HOST`
- `SMTP_ADDR`: **_empty_**: 邮件服务器地址,例如 smtp.gmail.com。对于 smtp+unix这应该是一个到 unix socket 的路径。在 1.18 之前,此设置与 `SMTP_PORT` 合并,名称为 `HOST`
- `SMTP_PORT`: **_empty_**: 邮件服务器端口。如果未指定协议,将通过此设置进行推断。常用端口如下。在 1.18 之前,此设置与 `SMTP_ADDR` 合并,名称为 `HOST`
- 25不安全的简单邮件传输协议insecure SMTP
- 465安全的简单邮件传输协议SMTP Secure
- 587StartTLS
- `USE_CLIENT_CERT`: **false**使用客户端证书进行 TLS/SSL 加密。
- `CLIENT_CERT_FILE`: **custom/mailer/cert.pem**客户端证书文件。
- `CLIENT_KEY_FILE`: **custom/mailer/key.pem**客户端密钥文件。
- `FORCE_TRUST_SERVER_CERT`: **false**如果设置为 `true`,将完全忽略服务器证书验证错误。此选项不安全。考虑将证书添加到系统信任存储中。
- `USER`: **_empty_**邮件用户的用户名(通常是发件人的电子邮件地址)。
- `PASSWD`: **_empty_**邮件用户的密码。如果密码中使用了特殊字符,请使用 \`your password\` 进行引用。
- `USE_CLIENT_CERT`: **false**: 使用客户端证书进行 TLS/SSL 加密。
- `CLIENT_CERT_FILE`: **custom/mailer/cert.pem**: 客户端证书文件。
- `CLIENT_KEY_FILE`: **custom/mailer/key.pem**: 客户端密钥文件。
- `FORCE_TRUST_SERVER_CERT`: **false**: 如果设置为 `true`,将完全忽略服务器证书验证错误。此选项不安全。考虑将证书添加到系统信任存储中。
- `USER`: **_empty_**: 邮件用户的用户名(通常是发件人的电子邮件地址)。
- `PASSWD`: **_empty_**: 邮件用户的密码。如果密码中使用了特殊字符,请使用 \`your password\` 进行引用。
- 请注意:只有在 SMTP 服务器通信通过 TLS 加密(可以通过 `STARTTLS` 实现)或 SMTP 主机是 localhost 时,才支持身份验证。有关更多信息,请参阅 [邮件设置](../administration/email-setup.md)。
- `ENABLE_HELO`: **true**启用 HELO 操作。
- `HELO_HOSTNAME`: **(从系统检索)**HELO 主机名。
- `FROM`: **_empty_**邮件的发件人地址,符合 RFC 5322。这可以是一个电子邮件地址也可以是 "Name" \<email@example.com\> 格式。
- `ENVELOPE_FROM`: **_empty_**在 SMTP 邮件信封上设置的地址作为发件地址。设置为 `<>` 以发送一个空地址。
- `SUBJECT_PREFIX`: **_empty_**放置在电子邮件主题行之前的前缀。
- `SENDMAIL_PATH`: **sendmail**操作系统上 `sendmail` 的位置(可以是命令或完整路径)。
- `SENDMAIL_ARGS`: **_empty_**指定任何额外的 sendmail 参数。(注意:您应该知道电子邮件地址可能看起来像选项 - 如果您的 `sendmail` 命令带有选项,您必须设置选项终止符 `--`
- `SENDMAIL_TIMEOUT`: **5m**通过 sendmail 发送电子邮件的默认超时时间。
- `SENDMAIL_CONVERT_CRLF`: **true**大多数版本的 sendmail 偏好使用 LF 换行符,而不是 CRLF 换行符。如果您的 sendmail 版本需要 CRLF 换行符,请将此设置为 false。
- `SEND_BUFFER_LEN`: **100**邮件队列的缓冲区长度。**已弃用**,请在 `[queue.mailer]` 中使用 `LENGTH`
- `SEND_AS_PLAIN_TEXT`: **false**仅以纯文本形式发送邮件,不包括 HTML 备选方案。
- `ENABLE_HELO`: **true**: 启用 HELO 操作。
- `HELO_HOSTNAME`: **(从系统检索)**: HELO 主机名。
- `FROM`: **_empty_**: 邮件的发件人地址,符合 RFC 5322。这可以是一个电子邮件地址也可以是 "Name" \<email@example.com\> 格式。
- `ENVELOPE_FROM`: **_empty_**: 在 SMTP 邮件信封上设置的地址作为发件地址。设置为 `<>` 以发送一个空地址。
- `SUBJECT_PREFIX`: **_empty_**: 放置在电子邮件主题行之前的前缀。
- `SENDMAIL_PATH`: **sendmail**: 操作系统上 `sendmail` 的位置(可以是命令或完整路径)。
- `SENDMAIL_ARGS`: **_empty_**: 指定任何额外的 sendmail 参数。(注意:您应该知道电子邮件地址可能看起来像选项 - 如果您的 `sendmail` 命令带有选项,您必须设置选项终止符 `--`
- `SENDMAIL_TIMEOUT`: **5m**: 通过 sendmail 发送电子邮件的默认超时时间。
- `SENDMAIL_CONVERT_CRLF`: **true**: 大多数版本的 sendmail 偏好使用 LF 换行符,而不是 CRLF 换行符。如果您的 sendmail 版本需要 CRLF 换行符,请将此设置为 false。
- `SEND_BUFFER_LEN`: **100**: 邮件队列的缓冲区长度。**已弃用**,请在 `[queue.mailer]` 中使用 `LENGTH`
- `SEND_AS_PLAIN_TEXT`: **false**: 仅以纯文本形式发送邮件,不包括 HTML 备选方案。
## 入站邮件 (`email.incoming`)
- `ENABLED`: **false**启用处理入站邮件。
- `REPLY_TO_ADDRESS`: **_empty_**包括 `%{token}` 占位符的电子邮件地址,该占位符将根据用户/操作进行替换。示例:`incoming+%{token}@example.com`。占位符必须出现在地址的用户部分(在 `@` 之前)。
- `HOST`: **_empty_**IMAP 服务器主机。
- `PORT`: **_empty_**IMAP 服务器端口。
- `USERNAME`: **_empty_**接收帐户的用户名。
- `PASSWORD`: **_empty_**接收帐户的密码。
- `USE_TLS`: **false**IMAP 服务器是否使用 TLS。
- `SKIP_TLS_VERIFY`: **false**如果设置为 `true`,将完全忽略服务器证书验证错误。此选项不安全。
- `MAILBOX`: **INBOX**入站邮件将到达的邮箱名称。
- `DELETE_HANDLED_MESSAGE`: **true**是否应从邮箱中删除已处理的消息。
- `MAXIMUM_MESSAGE_SIZE`: **10485760**要处理的消息的最大大小。忽略更大的消息。将其设置为 0 以允许每种大小。
- `ENABLED`: **false**: 启用处理入站邮件。
- `REPLY_TO_ADDRESS`: **_empty_**: 包括 `%{token}` 占位符的电子邮件地址,该占位符将根据用户/操作进行替换。示例:`incoming+%{token}@example.com`。占位符必须出现在地址的用户部分(在 `@` 之前)。
- `HOST`: **_empty_**: IMAP 服务器主机。
- `PORT`: **_empty_**: IMAP 服务器端口。
- `USERNAME`: **_empty_**: 接收帐户的用户名。
- `PASSWORD`: **_empty_**: 接收帐户的密码。
- `USE_TLS`: **false**: IMAP 服务器是否使用 TLS。
- `SKIP_TLS_VERIFY`: **false**: 如果设置为 `true`,将完全忽略服务器证书验证错误。此选项不安全。
- `MAILBOX`: **INBOX**: 入站邮件将到达的邮箱名称。
- `DELETE_HANDLED_MESSAGE`: **true**: 是否应从邮箱中删除已处理的消息。
- `MAXIMUM_MESSAGE_SIZE`: **10485760**: 要处理的消息的最大大小。忽略更大的消息。将其设置为 0 以允许每种大小。
## 缓存 (`cache`)
@@ -725,44 +725,44 @@ Gitea 创建以下非唯一队列:
### 缓存 - 最后提交缓存设置 (`cache.last_commit`)
- `ENABLED`: **true**是否启用缓存。
- `ITEM_TTL`: **8760h**如果未使用,保持缓存中的项目的时间,将其设置为 -1 会禁用缓存。
- `COMMITS_COUNT`: **1000**仅在存储库的提交计数大于时启用缓存。
- `ENABLED`: **true**: 是否启用缓存。
- `ITEM_TTL`: **8760h**: 如果未使用,保持缓存中的项目的时间,将其设置为 -1 会禁用缓存。
- `COMMITS_COUNT`: **1000**: 仅在存储库的提交计数大于时启用缓存。
## 会话 (`session`)
- `PROVIDER`: **memory**会话存储引擎 \[memory, file, redis, redis-cluster, db, mysql, couchbase, memcache, postgres\]。设置为 `db` 将会重用 `[database]` 的配置信息。
- `PROVIDER_CONFIG`: **data/sessions**对于文件,为根路径;对于 db为空将使用数据库配置对于其他引擎为连接字符串。相对路径将根据 _`AppWorkPath`_ 绝对化。
- `COOKIE_SECURE`: **_empty_**`true``false`。启用此选项以强制在所有会话访问中使用 HTTPS。如果没有设置当 ROOT_URL 是 https 链接的时候默认设置为 true。
- `COOKIE_NAME`: **i\_like\_gitea**用于会话 ID 的 cookie 名称。
- `GC_INTERVAL_TIME`: **86400**GC 间隔时间,以秒为单位。
- `SESSION_LIFE_TIME`: **86400**会话生命周期,以秒为单位,默认为 864001 天)。
- `DOMAIN`: **_empty_**设置 cookie 的域。
- `PROVIDER`: **memory**: 会话存储引擎 \[memory, file, redis, redis-cluster, db, mysql, couchbase, memcache, postgres\]。设置为 `db` 将会重用 `[database]` 的配置信息。
- `PROVIDER_CONFIG`: **data/sessions**: 对于文件,为根路径;对于 db为空将使用数据库配置对于其他引擎为连接字符串。相对路径将根据 _`AppWorkPath`_ 绝对化。
- `COOKIE_SECURE`: **_empty_**: `true``false`。启用此选项以强制在所有会话访问中使用 HTTPS。如果没有设置当 ROOT_URL 是 https 链接的时候默认设置为 true。
- `COOKIE_NAME`: **i\_like\_gitea**: 用于会话 ID 的 cookie 名称。
- `GC_INTERVAL_TIME`: **86400**: GC 间隔时间,以秒为单位。
- `SESSION_LIFE_TIME`: **86400**: 会话生命周期,以秒为单位,默认为 864001 天)。
- `DOMAIN`: **_empty_**: 设置 cookie 的域。
- `SAME_SITE`: **lax** \[strict, lax, none\]:为 cookie 设置 SameSite 属性。
## 图像 (`picture`)
- `GRAVATAR_SOURCE`: **gravatar**头像来源,可以是 gravatar、duoshuo 或类似 http://cn.gravatar.com/avatar/ 的来源。
- `GRAVATAR_SOURCE`: **gravatar**: 头像来源,可以是 gravatar、duoshuo 或类似 http://cn.gravatar.com/avatar/ 的来源。
`http://cn.gravatar.com/avatar/`
- `DISABLE_GRAVATAR`: **false**启用后,只使用内部头像。**已弃用 [v1.18+]** 该配置已迁移到数据库中保存,通过管理员面板进行配置。
- `ENABLE_FEDERATED_AVATAR`: **false**启用头像联盟支持(参见
- `DISABLE_GRAVATAR`: **false**: 启用后,只使用内部头像。**已弃用 [v1.18+]** 该配置已迁移到数据库中保存,通过管理员面板进行配置。
- `ENABLE_FEDERATED_AVATAR`: **false**: 启用头像联盟支持(参见
[http://www.libravatar.org](http://www.libravatar.org))。**已弃用 [v1.18+]** 该配置已迁移到数据库中保存,通过管理员面板进行配置。
- `AVATAR_STORAGE_TYPE`: **default**`[storage.xxx]` 中定义的存储类型。默认为 `default`,如果没有 `[storage]` 部分,则将读取 `[storage]`,如果没有则将是 `local` 类型。
- `AVATAR_UPLOAD_PATH`: **data/avatars**存储用户头像图像文件的路径。
- `AVATAR_MAX_WIDTH`: **4096**头像的最大宽度,以像素为单位。
- `AVATAR_MAX_HEIGHT`: **4096**头像的最大高度,以像素为单位。
- `AVATAR_STORAGE_TYPE`: **default**: `[storage.xxx]` 中定义的存储类型。默认为 `default`,如果没有 `[storage]` 部分,则将读取 `[storage]`,如果没有则将是 `local` 类型。
- `AVATAR_UPLOAD_PATH`: **data/avatars**: 存储用户头像图像文件的路径。
- `AVATAR_MAX_WIDTH`: **4096**: 头像的最大宽度,以像素为单位。
- `AVATAR_MAX_HEIGHT`: **4096**: 头像的最大高度,以像素为单位。
- `AVATAR_MAX_FILE_SIZE`: **1048576**1MiB头像的最大大小。
- `AVATAR_MAX_ORIGIN_SIZE`: **262144**256KiB如果上传的文件不大于此字节大小则图像将原样使用无需调整大小/转换。
- `AVATAR_RENDERED_SIZE_FACTOR`: **2**渲染的头像图像的乘法因子。较大的值在 HiDPI 设备上会产生更细腻的渲染。
- `AVATAR_RENDERED_SIZE_FACTOR`: **2**: 渲染的头像图像的乘法因子。较大的值在 HiDPI 设备上会产生更细腻的渲染。
- `REPOSITORY_AVATAR_STORAGE_TYPE`: **default**`[storage.xxx]` 中定义的存储类型。默认为 `default`,如果没有 `[storage]` 部分,则将读取 `[storage]`,如果没有则将是 `local` 类型。
- `REPOSITORY_AVATAR_UPLOAD_PATH`: **data/repo-avatars**存储仓库头像图像文件的路径。
- `REPOSITORY_AVATAR_FALLBACK`: **none**Gitea 处理缺少仓库头像的方式
- `REPOSITORY_AVATAR_STORAGE_TYPE`: **default**: `[storage.xxx]` 中定义的存储类型。默认为 `default`,如果没有 `[storage]` 部分,则将读取 `[storage]`,如果没有则将是 `local` 类型。
- `REPOSITORY_AVATAR_UPLOAD_PATH`: **data/repo-avatars**: 存储仓库头像图像文件的路径。
- `REPOSITORY_AVATAR_FALLBACK`: **none**: Gitea 处理缺少仓库头像的方式
- none = 不显示任何头像
- random = 生成随机头像
- image = 使用默认图像(在 `REPOSITORY_AVATAR_FALLBACK_IMAGE` 中设置),如果设置为 image 并且未上传任何图像。
- `REPOSITORY_AVATAR_FALLBACK_IMAGE`: **/img/repo_default.png**作为默认仓库头像的图像(如果将 `REPOSITORY_AVATAR_FALLBACK` 设置为 image 并且没有上传图像)。
- `REPOSITORY_AVATAR_FALLBACK_IMAGE`: **/img/repo_default.png**: 作为默认仓库头像的图像(如果将 `REPOSITORY_AVATAR_FALLBACK` 设置为 image 并且没有上传图像)。
## 项目 (`project`)
@@ -1039,23 +1039,23 @@ Gitea 创建以下非唯一队列:
## OAuth2 (`oauth2`)
- `ENABLE`: **true**启用OAuth2提供者。
- `ACCESS_TOKEN_EXPIRATION_TIME`**3600**OAuth2访问令牌的生命周期以秒为单位。
- `REFRESH_TOKEN_EXPIRATION_TIME`**730**OAuth2刷新令牌的生命周期以小时为单位。
- `INVALIDATE_REFRESH_TOKENS`**false**检查刷新令牌是否已被使用。
- `JWT_SIGNING_ALGORITHM`**RS256**用于签署OAuth2令牌的算法。有效值[`HS256``HS384``HS512``RS256``RS384``RS512``ES256``ES384``ES512`]。
- `JWT_SECRET`**_empty_**OAuth2访问和刷新令牌的身份验证密钥请将其更改为唯一的字符串。仅当`JWT_SIGNING_ALGORITHM`设置为`HS256``HS384``HS512`时才需要此设置。
- `JWT_SECRET_URI`**_empty_**可以使用此配置选项,而不是在配置中定义`JWT_SECRET`以向Gitea提供包含密钥的文件的路径示例值`file:/etc/gitea/oauth2_jwt_secret`)。
- `JWT_SIGNING_PRIVATE_KEY_FILE`**jwt/private.pem**用于签署OAuth2令牌的私钥文件路径。路径相对于`APP_DATA_PATH`。仅当`JWT_SIGNING_ALGORITHM`设置为`RS256``RS384``RS512``ES256``ES384``ES512`时才需要此设置。文件必须包含PKCS8格式的RSA或ECDSA私钥。如果不存在密钥则将为您创建一个4096位密钥。
- `MAX_TOKEN_LENGTH`**32767**从OAuth2提供者接受的令牌/cookie的最大长度。
- `DEFAULT_APPLICATIONS`**git-credential-oauthgit-credential-manager**在启动时预注册用于某些服务的OAuth应用程序。有关可用选项列表请参阅[OAuth2文档](/development/oauth2-provider.md)。
- `ENABLE`: **true**: 启用OAuth2提供者。
- `ACCESS_TOKEN_EXPIRATION_TIME`**3600**: OAuth2访问令牌的生命周期以秒为单位。
- `REFRESH_TOKEN_EXPIRATION_TIME`**730**: OAuth2刷新令牌的生命周期以小时为单位。
- `INVALIDATE_REFRESH_TOKENS`**false**: 检查刷新令牌是否已被使用。
- `JWT_SIGNING_ALGORITHM`**RS256**: 用于签署OAuth2令牌的算法。有效值[`HS256``HS384``HS512``RS256``RS384``RS512``ES256``ES384``ES512`]。
- `JWT_SECRET`**_empty_**: OAuth2访问和刷新令牌的身份验证密钥请将其更改为唯一的字符串。仅当`JWT_SIGNING_ALGORITHM`设置为`HS256``HS384``HS512`时才需要此设置。
- `JWT_SECRET_URI`**_empty_**: 可以使用此配置选项,而不是在配置中定义`JWT_SECRET`以向Gitea提供包含密钥的文件的路径示例值`file:/etc/gitea/oauth2_jwt_secret`)。
- `JWT_SIGNING_PRIVATE_KEY_FILE`**jwt/private.pem**: 用于签署OAuth2令牌的私钥文件路径。路径相对于`APP_DATA_PATH`。仅当`JWT_SIGNING_ALGORITHM`设置为`RS256``RS384``RS512``ES256``ES384``ES512`时才需要此设置。文件必须包含PKCS8格式的RSA或ECDSA私钥。如果不存在密钥则将为您创建一个4096位密钥。
- `MAX_TOKEN_LENGTH`**32767**: 从OAuth2提供者接受的令牌/cookie的最大长度。
- `DEFAULT_APPLICATIONS`**git-credential-oauthgit-credential-manager**: 在启动时预注册用于某些服务的OAuth应用程序。有关可用选项列表请参阅[OAuth2文档](/development/oauth2-provider.md)。
## i18n (`i18n`)
- `LANGS`: **en-US,zh-CN,zh-HK,zh-TW,de-DE,fr-FR,nl-NL,lv-LV,ru-RU,uk-UA,ja-JP,es-ES,pt-BR,pt-PT,pl-PL,bg-BG,it-IT,fi-FI,tr-TR,cs-CZ,sv-SE,ko-KR,el-GR,fa-IR,hu-HU,id-ID,ml-IN**
- `LANGS`: **en-US,zh-CN,zh-HK,zh-TW,de-DE,fr-FR,nl-NL,lv-LV,ru-RU,uk-UA,ja-JP,es-ES,pt-BR,pt-PT,pl-PL,bg-BG,it-IT,fi-FI,tr-TR,cs-CZ,sv-SE,ko-KR,el-GR,fa-IR,hu-HU,id-ID,ml-IN**:
在语言选择器中显示的区域设置列表。如果用户浏览器的语言与列表中的任何区域设置不匹配,则将使用第一个区域设置作为默认值。
- `NAMES`**English,简体中文,繁體中文(香港),繁體中文(台灣),Deutsch,Français,Nederlands,Latviešu,Русский,Українська,日本語,Español,Português do Brasil,Português de Portugal,Polski,Български,Italiano,Suomi,Türkçe,Čeština,Српски,Svenska,한국어,Ελληνικά,فارسی,Magyar nyelv,Bahasa Indonesia,മലയാളം**
- `NAMES`**English,简体中文,繁體中文(香港),繁體中文(台灣),Deutsch,Français,Nederlands,Latviešu,Русский,Українська,日本語,Español,Português do Brasil,Português de Portugal,Polski,Български,Italiano,Suomi,Türkçe,Čeština,Српски,Svenska,한국어,Ελληνικά,فارسی,Magyar nyelv,Bahasa Indonesia,മലയാളം**:
对应于各区域设置的可见名称。
## Markup (`markup`)
@@ -1122,92 +1122,92 @@ ALLOW_DATA_URI_IMAGES = true
## 迁移 (`migrations`)
- `MAX_ATTEMPTS`**3**每次 http/https 请求的最大尝试次数(用于迁移)。
- `RETRY_BACKOFF`**3**每次 http/https 请求重试的退避时间(秒)。
- `ALLOWED_DOMAINS`**_empty_**允许迁移仓库的域名允许列表,默认为空。这意味着允许外部网址。多个域名可以用逗号分隔。支持通配符:`github.com, *.github.com`
- `BLOCKED_DOMAINS`**_empty_**阻止迁移仓库的域名阻止列表,默认为空。多个域名可以用逗号分隔。当 `ALLOWED_DOMAINS` 不为空时,此选项优先级较高,用于拒绝域名。支持通配符。
- `ALLOW_LOCALNETWORKS`**false**允许 RFC 1918、RFC 1122、RFC 4632 和 RFC 4291 中定义的私有地址。如果域名被 `ALLOWED_DOMAINS` 允许,此选项将被忽略。
- `SKIP_TLS_VERIFY`**false**允许跳过 TLS 验证。
- `MAX_ATTEMPTS`**3**: 每次 http/https 请求的最大尝试次数(用于迁移)。
- `RETRY_BACKOFF`**3**: 每次 http/https 请求重试的退避时间(秒)。
- `ALLOWED_DOMAINS`**_empty_**: 允许迁移仓库的域名允许列表,默认为空。这意味着允许外部网址。多个域名可以用逗号分隔。支持通配符:`github.com, *.github.com`
- `BLOCKED_DOMAINS`**_empty_**: 阻止迁移仓库的域名阻止列表,默认为空。多个域名可以用逗号分隔。当 `ALLOWED_DOMAINS` 不为空时,此选项优先级较高,用于拒绝域名。支持通配符。
- `ALLOW_LOCALNETWORKS`**false**: 允许 RFC 1918、RFC 1122、RFC 4632 和 RFC 4291 中定义的私有地址。如果域名被 `ALLOWED_DOMAINS` 允许,此选项将被忽略。
- `SKIP_TLS_VERIFY`**false**: 允许跳过 TLS 验证。
## 联邦(`federation`
- `ENABLED`**false**启用/禁用联邦功能。
- `SHARE_USER_STATISTICS`**true**如果启用联邦,则启用/禁用节点信息的用户统计信息。
- `MAX_SIZE`**4**联邦请求和响应的最大大小MB
- `ENABLED`**false**: 启用/禁用联邦功能。
- `SHARE_USER_STATISTICS`**true**: 如果启用联邦,则启用/禁用节点信息的用户统计信息。
- `MAX_SIZE`**4**: 联邦请求和响应的最大大小MB
警告:更改以下设置可能会破坏联邦功能。
- `ALGORITHMS`**rsa-sha256, rsa-sha512, ed25519**HTTP 签名算法。
- `DIGEST_ALGORITHM`**SHA-256**HTTP 签名摘要算法。
- `GET_HEADERS`**(request-target), Date**用于联邦请求的 GET 头部。
- `POST_HEADERS`**(request-target), Date, Digest**用于联邦请求的 POST 头部。
- `ALGORITHMS`**rsa-sha256, rsa-sha512, ed25519**: HTTP 签名算法。
- `DIGEST_ALGORITHM`**SHA-256**: HTTP 签名摘要算法。
- `GET_HEADERS`**(request-target), Date**: 用于联邦请求的 GET 头部。
- `POST_HEADERS`**(request-target), Date, Digest**: 用于联邦请求的 POST 头部。
## 包(`packages`
- `ENABLED`**true**启用/禁用包注册表功能。
- `CHUNKED_UPLOAD_PATH`**tmp/package-upload**分块上传的路径。默认为 `APP_DATA_PATH` + `tmp/package-upload`
- `LIMIT_TOTAL_OWNER_COUNT`**-1**单个所有者可以拥有的包版本的最大数量(`-1` 表示无限制)。
- `LIMIT_TOTAL_OWNER_SIZE`**-1**单个所有者可以使用的包的最大大小(`-1` 表示无限制,格式为 `1000``1 MB``1 GiB`)。
- `LIMIT_SIZE_ALPINE`**-1**Alpine 上传的最大大小(`-1` 表示无限制,格式为 `1000``1 MB``1 GiB`)。
- `LIMIT_SIZE_CARGO`**-1**Cargo 上传的最大大小(`-1` 表示无限制,格式为 `1000``1 MB``1 GiB`)。
- `LIMIT_SIZE_CHEF`**-1**Chef 上传的最大大小(`-1` 表示无限制,格式为 `1000``1 MB``1 GiB`)。
- `LIMIT_SIZE_COMPOSER`**-1**Composer 上传的最大大小(`-1` 表示无限制,格式为 `1000``1 MB``1 GiB`)。
- `LIMIT_SIZE_CONAN`**-1**Conan 上传的最大大小(`-1` 表示无限制,格式为 `1000``1 MB``1 GiB`)。
- `LIMIT_SIZE_CONDA`**-1**Conda 上传的最大大小(`-1` 表示无限制,格式为 `1000``1 MB``1 GiB`)。
- `LIMIT_SIZE_CONTAINER`**-1**Container 上传的最大大小(`-1` 表示无限制,格式为 `1000``1 MB``1 GiB`)。
- `LIMIT_SIZE_CRAN`**-1**CRAN 上传的最大大小(`-1` 表示无限制,格式为 `1000``1 MB``1 GiB`)。
- `LIMIT_SIZE_DEBIAN`**-1**Debian 上传的最大大小(`-1` 表示无限制,格式为 `1000``1 MB``1 GiB`)。
- `LIMIT_SIZE_GENERIC`**-1**通用上传的最大大小(`-1` 表示无限制,格式为 `1000``1 MB``1 GiB`)。
- `LIMIT_SIZE_GO`**-1**Go 上传的最大大小(`-1` 表示无限制,格式为 `1000``1 MB``1 GiB`)。
- `LIMIT_SIZE_HELM`**-1**Helm 上传的最大大小(`-1` 表示无限制,格式为 `1000``1 MB``1 GiB`)。
- `LIMIT_SIZE_MAVEN`**-1**Maven 上传的最大大小(`-1` 表示无限制,格式为 `1000``1 MB``1 GiB`)。
- `LIMIT_SIZE_NPM`**-1**npm 上传的最大大小(`-1` 表示无限制,格式为 `1000``1 MB``1 GiB`)。
- `LIMIT_SIZE_NUGET`**-1**NuGet 上传的最大大小(`-1` 表示无限制,格式为 `1000``1 MB``1 GiB`)。
- `LIMIT_SIZE_PUB`**-1**Pub 上传的最大大小(`-1` 表示无限制,格式为 `1000``1 MB``1 GiB`)。
- `LIMIT_SIZE_PYPI`**-1**PyPI 上传的最大大小(`-1` 表示无限制,格式为 `1000``1 MB``1 GiB`)。
- `LIMIT_SIZE_RPM`**-1**RPM 上传的最大大小(`-1` 表示无限制,格式为 `1000``1 MB``1 GiB`)。
- `LIMIT_SIZE_RUBYGEMS`**-1**RubyGems 上传的最大大小(`-1` 表示无限制,格式为 `1000``1 MB``1 GiB`)。
- `LIMIT_SIZE_SWIFT`**-1**Swift 上传的最大大小(`-1` 表示无限制,格式为 `1000``1 MB``1 GiB`)。
- `LIMIT_SIZE_VAGRANT`**-1**Vagrant 上传的最大大小(`-1` 表示无限制,格式为 `1000``1 MB``1 GiB`)。
- `ENABLED`**true**: 启用/禁用包注册表功能。
- `CHUNKED_UPLOAD_PATH`**tmp/package-upload**: 分块上传的路径。默认为 `APP_DATA_PATH` + `tmp/package-upload`
- `LIMIT_TOTAL_OWNER_COUNT`**-1**: 单个所有者可以拥有的包版本的最大数量(`-1` 表示无限制)。
- `LIMIT_TOTAL_OWNER_SIZE`**-1**: 单个所有者可以使用的包的最大大小(`-1` 表示无限制,格式为 `1000``1 MB``1 GiB`)。
- `LIMIT_SIZE_ALPINE`**-1**: Alpine 上传的最大大小(`-1` 表示无限制,格式为 `1000``1 MB``1 GiB`)。
- `LIMIT_SIZE_CARGO`**-1**: Cargo 上传的最大大小(`-1` 表示无限制,格式为 `1000``1 MB``1 GiB`)。
- `LIMIT_SIZE_CHEF`**-1**: Chef 上传的最大大小(`-1` 表示无限制,格式为 `1000``1 MB``1 GiB`)。
- `LIMIT_SIZE_COMPOSER`**-1**: Composer 上传的最大大小(`-1` 表示无限制,格式为 `1000``1 MB``1 GiB`)。
- `LIMIT_SIZE_CONAN`**-1**: Conan 上传的最大大小(`-1` 表示无限制,格式为 `1000``1 MB``1 GiB`)。
- `LIMIT_SIZE_CONDA`**-1**: Conda 上传的最大大小(`-1` 表示无限制,格式为 `1000``1 MB``1 GiB`)。
- `LIMIT_SIZE_CONTAINER`**-1**: Container 上传的最大大小(`-1` 表示无限制,格式为 `1000``1 MB``1 GiB`)。
- `LIMIT_SIZE_CRAN`**-1**: CRAN 上传的最大大小(`-1` 表示无限制,格式为 `1000``1 MB``1 GiB`)。
- `LIMIT_SIZE_DEBIAN`**-1**: Debian 上传的最大大小(`-1` 表示无限制,格式为 `1000``1 MB``1 GiB`)。
- `LIMIT_SIZE_GENERIC`**-1**: 通用上传的最大大小(`-1` 表示无限制,格式为 `1000``1 MB``1 GiB`)。
- `LIMIT_SIZE_GO`**-1**: Go 上传的最大大小(`-1` 表示无限制,格式为 `1000``1 MB``1 GiB`)。
- `LIMIT_SIZE_HELM`**-1**: Helm 上传的最大大小(`-1` 表示无限制,格式为 `1000``1 MB``1 GiB`)。
- `LIMIT_SIZE_MAVEN`**-1**: Maven 上传的最大大小(`-1` 表示无限制,格式为 `1000``1 MB``1 GiB`)。
- `LIMIT_SIZE_NPM`**-1**: npm 上传的最大大小(`-1` 表示无限制,格式为 `1000``1 MB``1 GiB`)。
- `LIMIT_SIZE_NUGET`**-1**: NuGet 上传的最大大小(`-1` 表示无限制,格式为 `1000``1 MB``1 GiB`)。
- `LIMIT_SIZE_PUB`**-1**: Pub 上传的最大大小(`-1` 表示无限制,格式为 `1000``1 MB``1 GiB`)。
- `LIMIT_SIZE_PYPI`**-1**: PyPI 上传的最大大小(`-1` 表示无限制,格式为 `1000``1 MB``1 GiB`)。
- `LIMIT_SIZE_RPM`**-1**: RPM 上传的最大大小(`-1` 表示无限制,格式为 `1000``1 MB``1 GiB`)。
- `LIMIT_SIZE_RUBYGEMS`**-1**: RubyGems 上传的最大大小(`-1` 表示无限制,格式为 `1000``1 MB``1 GiB`)。
- `LIMIT_SIZE_SWIFT`**-1**: Swift 上传的最大大小(`-1` 表示无限制,格式为 `1000``1 MB``1 GiB`)。
- `LIMIT_SIZE_VAGRANT`**-1**: Vagrant 上传的最大大小(`-1` 表示无限制,格式为 `1000``1 MB``1 GiB`)。
## 镜像(`mirror`
- `ENABLED`**true**启用镜像功能。设置为 **false** 以禁用所有镜像。预先存在的镜像保持有效,但不会更新;可以转换为常规仓库。
- `DISABLE_NEW_PULL`**false**禁用创建**新的**拉取镜像。预先存在的镜像保持有效。如果 `mirror.ENABLED``false`,将被忽略。
- `DISABLE_NEW_PUSH`**false**禁用创建**新的**推送镜像。预先存在的镜像保持有效。如果 `mirror.ENABLED``false`,将被忽略。
- `DEFAULT_INTERVAL`**8h**每次检查之间的默认间隔。
- `MIN_INTERVAL`**10m**检查的最小间隔。(必须大于 1 分钟)。
- `ENABLED`**true**: 启用镜像功能。设置为 **false** 以禁用所有镜像。预先存在的镜像保持有效,但不会更新;可以转换为常规仓库。
- `DISABLE_NEW_PULL`**false**: 禁用创建**新的**拉取镜像。预先存在的镜像保持有效。如果 `mirror.ENABLED``false`,将被忽略。
- `DISABLE_NEW_PUSH`**false**: 禁用创建**新的**推送镜像。预先存在的镜像保持有效。如果 `mirror.ENABLED``false`,将被忽略。
- `DEFAULT_INTERVAL`**8h**: 每次检查之间的默认间隔。
- `MIN_INTERVAL`**10m**: 检查的最小间隔。(必须大于 1 分钟)。
## LFS (`lfs`)
用于 lfs 数据的存储配置。当将 `STORAGE_TYPE` 设置为 `xxx` 时,它将从默认的 `[storage]``[storage.xxx]` 派生。
当派生时,`PATH` 的默认值是 `data/lfs``MINIO_BASE_PATH` 的默认值是 `lfs/`
- `STORAGE_TYPE`**local**lfs 的存储类型,`local` 表示本地磁盘,`minio` 表示 S3 兼容对象存储服务,或者使用 `[storage.xxx]` 中定义的其他名称。
- `SERVE_DIRECT`**false**允许存储驱动程序重定向到经过身份验证的 URL 以直接提供文件。目前,仅支持通过签名的 URL 提供 Minio/S3本地不执行任何操作。
- `PATH`**./data/lfs**存储 LFS 文件的位置,仅在 `STORAGE_TYPE``local` 时可用。如果未设置,则回退到 `[server]` 部分中已弃用的 `LFS_CONTENT_PATH` 值。
- `MINIO_ENDPOINT`**localhost:9000**连接的 Minio 终端点,仅在 `STORAGE_TYPE``minio` 时可用。
- `STORAGE_TYPE`**local**: lfs 的存储类型,`local` 表示本地磁盘,`minio` 表示 S3 兼容对象存储服务,或者使用 `[storage.xxx]` 中定义的其他名称。
- `SERVE_DIRECT`**false**: 允许存储驱动程序重定向到经过身份验证的 URL 以直接提供文件。目前,仅支持通过签名的 URL 提供 Minio/S3本地不执行任何操作。
- `PATH`**./data/lfs**: 存储 LFS 文件的位置,仅在 `STORAGE_TYPE``local` 时可用。如果未设置,则回退到 `[server]` 部分中已弃用的 `LFS_CONTENT_PATH` 值。
- `MINIO_ENDPOINT`**localhost:9000**: 连接的 Minio 终端点,仅在 `STORAGE_TYPE``minio` 时可用。
- `MINIO_ACCESS_KEY_ID`Minio 的 accessKeyID仅在 `STORAGE_TYPE``minio` 时可用。
- `MINIO_SECRET_ACCESS_KEY`Minio 的 secretAccessKey仅在 `STORAGE_TYPE``minio` 时可用。
- `MINIO_BUCKET`**gitea**用于存储 lfs 的 Minio 桶,仅在 `STORAGE_TYPE``minio` 时可用。
- `MINIO_LOCATION`**us-east-1**创建桶的 Minio 位置,仅在 `STORAGE_TYPE``minio` 时可用。
- `MINIO_BASE_PATH`**lfs/**桶上的 Minio 基本路径,仅在 `STORAGE_TYPE``minio` 时可用。
- `MINIO_USE_SSL`**false**Minio 启用 ssl仅在 `STORAGE_TYPE``minio` 时可用。
- `MINIO_INSECURE_SKIP_VERIFY`**false**Minio 跳过 SSL 验证,仅在 `STORAGE_TYPE``minio` 时可用。
- `MINIO_BUCKET`**gitea**: 用于存储 lfs 的 Minio 桶,仅在 `STORAGE_TYPE``minio` 时可用。
- `MINIO_LOCATION`**us-east-1**: 创建桶的 Minio 位置,仅在 `STORAGE_TYPE``minio` 时可用。
- `MINIO_BASE_PATH`**lfs/**: 桶上的 Minio 基本路径,仅在 `STORAGE_TYPE``minio` 时可用。
- `MINIO_USE_SSL`**false**: Minio 启用 ssl仅在 `STORAGE_TYPE``minio` 时可用。
- `MINIO_INSECURE_SKIP_VERIFY`**false**: Minio 跳过 SSL 验证,仅在 `STORAGE_TYPE``minio` 时可用。
## 存储 (`storage`)
默认的附件、lfs、头像、仓库头像、仓库归档、软件包、操作日志、操作艺术品的存储配置。
- `STORAGE_TYPE`**local**存储类型,`local` 表示本地磁盘,`minio` 表示 S3 兼容的对象存储服务。
- `SERVE_DIRECT`**false**允许存储驱动程序重定向到经过身份验证的 URL 以直接提供文件。目前,仅支持通过签名的 URL 提供 Minio/S3本地不执行任何操作。
- `MINIO_ENDPOINT`**localhost:9000**连接的 Minio 终端点,仅在 `STORAGE_TYPE``minio` 时可用。
- `STORAGE_TYPE`**local**: 存储类型,`local` 表示本地磁盘,`minio` 表示 S3 兼容的对象存储服务。
- `SERVE_DIRECT`**false**: 允许存储驱动程序重定向到经过身份验证的 URL 以直接提供文件。目前,仅支持通过签名的 URL 提供 Minio/S3本地不执行任何操作。
- `MINIO_ENDPOINT`**localhost:9000**: 连接的 Minio 终端点,仅在 `STORAGE_TYPE``minio` 时可用。
- `MINIO_ACCESS_KEY_ID`Minio 的 accessKeyID仅在 `STORAGE_TYPE``minio` 时可用。
- `MINIO_SECRET_ACCESS_KEY`Minio 的 secretAccessKey仅在 `STORAGE_TYPE``minio` 时可用。
- `MINIO_BUCKET`**gitea**用于存储数据的 Minio 桶,仅在 `STORAGE_TYPE``minio` 时可用。
- `MINIO_LOCATION`**us-east-1**创建桶的 Minio 位置,仅在 `STORAGE_TYPE``minio` 时可用。
- `MINIO_USE_SSL`**false**Minio 启用 ssl仅在 `STORAGE_TYPE``minio` 时可用。
- `MINIO_INSECURE_SKIP_VERIFY`**false**Minio 跳过 SSL 验证,仅在 `STORAGE_TYPE``minio` 时可用。
- `MINIO_BUCKET`**gitea**: 用于存储数据的 Minio 桶,仅在 `STORAGE_TYPE``minio` 时可用。
- `MINIO_LOCATION`**us-east-1**: 创建桶的 Minio 位置,仅在 `STORAGE_TYPE``minio` 时可用。
- `MINIO_USE_SSL`**false**: Minio 启用 ssl仅在 `STORAGE_TYPE``minio` 时可用。
- `MINIO_INSECURE_SKIP_VERIFY`**false**: Minio 跳过 SSL 验证,仅在 `STORAGE_TYPE``minio` 时可用。
建议的 minio 存储配置如下:
@@ -1281,22 +1281,22 @@ MINIO_INSECURE_SKIP_VERIFY = false
存储库归档存储的配置。当将`STORAGE_TYPE`设置为`xxx`时,它将继承默认的 `[storage]``[storage.xxx]` 配置。`PATH`的默认值是`data/repo-archive``MINIO_BASE_PATH`的默认值是`repo-archive/`
- `STORAGE_TYPE`: **local**存储类型,`local`表示本地磁盘,`minio`表示与S3兼容的对象存储服务或者使用定义为`[storage.xxx]`的其他名称。
- `SERVE_DIRECT`: **false**允许存储驱动程序重定向到经过身份验证的URL以直接提供文件。目前只有Minio/S3支持通过签名URL本地不执行任何操作。
- `PATH`: **./data/repo-archive**用于存储归档文件的位置,仅在`STORAGE_TYPE``local`时可用。
- `MINIO_ENDPOINT`: **localhost:9000**Minio端点仅在`STORAGE_TYPE``minio`时可用。
- `STORAGE_TYPE`: **local**: 存储类型,`local`表示本地磁盘,`minio`表示与S3兼容的对象存储服务或者使用定义为`[storage.xxx]`的其他名称。
- `SERVE_DIRECT`: **false**: 允许存储驱动程序重定向到经过身份验证的URL以直接提供文件。目前只有Minio/S3支持通过签名URL本地不执行任何操作。
- `PATH`: **./data/repo-archive**: 用于存储归档文件的位置,仅在`STORAGE_TYPE``local`时可用。
- `MINIO_ENDPOINT`: **localhost:9000**: Minio端点仅在`STORAGE_TYPE``minio`时可用。
- `MINIO_ACCESS_KEY_ID`: Minio的accessKeyID仅在`STORAGE_TYPE``minio`时可用。
- `MINIO_SECRET_ACCESS_KEY`: Minio的secretAccessKey仅在`STORAGE_TYPE``minio`时可用。
- `MINIO_BUCKET`: **gitea**用于存储归档的Minio存储桶仅在`STORAGE_TYPE``minio`时可用。
- `MINIO_LOCATION`: **us-east-1**用于创建存储桶的Minio位置仅在`STORAGE_TYPE``minio`时可用。
- `MINIO_BASE_PATH`: **repo-archive/**存储桶上的Minio基本路径仅在`STORAGE_TYPE``minio`时可用。
- `MINIO_USE_SSL`: **false**启用Minio的SSL仅在`STORAGE_TYPE``minio`时可用。
- `MINIO_INSECURE_SKIP_VERIFY`: **false**跳过Minio的SSL验证仅在`STORAGE_TYPE``minio`时可用。
- `MINIO_BUCKET`: **gitea**: 用于存储归档的Minio存储桶仅在`STORAGE_TYPE``minio`时可用。
- `MINIO_LOCATION`: **us-east-1**: 用于创建存储桶的Minio位置仅在`STORAGE_TYPE``minio`时可用。
- `MINIO_BASE_PATH`: **repo-archive/**: 存储桶上的Minio基本路径仅在`STORAGE_TYPE``minio`时可用。
- `MINIO_USE_SSL`: **false**: 启用Minio的SSL仅在`STORAGE_TYPE``minio`时可用。
- `MINIO_INSECURE_SKIP_VERIFY`: **false**: 跳过Minio的SSL验证仅在`STORAGE_TYPE``minio`时可用。
### 存储库归档 (`repo-archive`)
- `STORAGE_TYPE`: **local**存储类型,用于操作日志,`local`表示本地磁盘,`minio`表示与S3兼容的对象存储服务默认为`local`,或者使用定义为`[storage.xxx]`的其他名称。
- `MINIO_BASE_PATH`: **repo-archive/**Minio存储桶上的基本路径仅在`STORAGE_TYPE``minio`时可用。
- `STORAGE_TYPE`: **local**: 存储类型,用于操作日志,`local`表示本地磁盘,`minio`表示与S3兼容的对象存储服务默认为`local`,或者使用定义为`[storage.xxx]`的其他名称。
- `MINIO_BASE_PATH`: **repo-archive/**: Minio存储桶上的基本路径仅在`STORAGE_TYPE``minio`时可用。
## 代理 (`proxy`)
@@ -1314,10 +1314,10 @@ PROXY_HOSTS = *.github.com
## Actions (`actions`)
- `ENABLED`: **true**启用/禁用操作功能
- `DEFAULT_ACTIONS_URL`: **github**获取操作插件的默认平台,`github`表示`https://github.com``self`表示当前的 Gitea 实例。
- `STORAGE_TYPE`: **local**用于操作日志的存储类型,`local`表示本地磁盘,`minio`表示与S3兼容的对象存储服务默认为`local`,或者使用定义为`[storage.xxx]`的其他名称。
- `MINIO_BASE_PATH`: **actions_log/**Minio存储桶上的基本路径仅在`STORAGE_TYPE``minio`时可用。
- `ENABLED`: **true**: 启用/禁用操作功能
- `DEFAULT_ACTIONS_URL`: **github**: 获取操作插件的默认平台,`github`表示`https://github.com``self`表示当前的 Gitea 实例。
- `STORAGE_TYPE`: **local**: 用于操作日志的存储类型,`local`表示本地磁盘,`minio`表示与S3兼容的对象存储服务默认为`local`,或者使用定义为`[storage.xxx]`的其他名称。
- `MINIO_BASE_PATH`: **actions_log/**: Minio存储桶上的基本路径仅在`STORAGE_TYPE``minio`时可用。
`DEFAULT_ACTIONS_URL` 指示 Gitea 操作运行程序应该在哪里找到带有相对路径的操作。
例如,`uses: actions/checkout@v3` 表示 `https://github.com/actions/checkout@v3`,因为 `DEFAULT_ACTIONS_URL` 的值为 `github`

View File

@@ -287,15 +287,15 @@ aliases:
静态文件位于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 监听地址。
- `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 监听端口。
- `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/**
- `UNIX_SOCKET_PERMISSION`: **666**: Unix 套接字的权限。
- `LOCAL_ROOT_URL`: **%(PROTOCOL)s://%(HTTP_ADDR)s:%(HTTP_PORT)s/**:
用于访问网络服务的 Gitea 工作器(例如 SSH 更新的本地DMZURL。
在大多数情况下,您不需要更改默认值。
仅在您的 SSH 服务器节点与 HTTP 节点不同的情况下才修改它。对于不同的协议,默认值不同。如果 `PROTOCOL`
@@ -303,63 +303,63 @@ aliases:
`%(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 协议头。
- `LOCAL_USE_PROXY_PROTOCOL`: **%(USE_PROXY_PROTOCOL)s**: 在进行本地连接时传递 PROXY 协议头。
如果本地连接将经过代理,请将其设置为 false。
- `PER_WRITE_TIMEOUT`: **30s**连接的任何写操作的超时时间。(将其设置为 -1
- `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-<algorithm> <key>` 或 `ssh-<algorithm> <key1>, ssh-<algorithm> <key2>`。有关详细信息,请参阅 `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`: **true**禁用 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`_**模板和静态文件路径的上一级。
- `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-<algorithm> <key>` 或 `ssh-<algorithm> <key1>, ssh-<algorithm> <key2>`。有关详细信息,请参阅 `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`: **true**: 禁用 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)_<username>_<temporary id>`。
- `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 身份验证密钥,将其更改为唯一的字符串。你可以通过 Gitea 子命令来生成此字符串。转到 [Command Line](administration/command-line.md#generate)。
- `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**设置首选的密码套件。
- `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)_<username>_<temporary id>`。
- `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 身份验证密钥,将其更改为唯一的字符串。你可以通过 Gitea 子命令来生成此字符串。转到 [Command Line](administration/command-line.md#generate)。
- `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 套件
@@ -392,25 +392,25 @@ aliases:
- 别名
- "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的打开来确定。索引程序可能需要更长时间启动可能具有自己的超时时间。
- `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。
- `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。
@@ -422,52 +422,52 @@ aliases:
- `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`**false**记录已执行的 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**是否自动执行数据库模型迁移。
- `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`**false**: 记录已执行的 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`_ 进行绝对路径化。
- `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_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](https://github.com/gobwas/glob))以用于**包括**在索引中。使用 `**.txt` 匹配任何具有 .txt 扩展名的文件。空列表表示包括所有文件。
- `REPO_INDEXER_EXCLUDE`**empty**逗号分隔的 glob 模式列表(参见 [https://github.com/gobwas/glob](https://github.com/gobwas/glob))以用于**排除**在索引中。即使在 `REPO_INDEXER_INCLUDE` 中匹配,也不会索引与此列表匹配的文件。
- `REPO_INDEXER_EXCLUDE_VENDORED`**true**从索引中排除 vendored 文件。
- `MAX_FILE_SIZE`**1048576**要索引的文件的最大字节数。
- `STARTUP_TIMEOUT`**30s**如果索引器启动时间超过此超时时间 - 则失败。(此超时时间将添加到上面的锤子时间中,用于子进程 - 因为 bleve 不会在上一个父进程关闭之前启动)。设置为 -1 表示永不超时。
- `REPO_INDEXER_INCLUDE`**empty**: 逗号分隔的 glob 模式列表(参见 [https://github.com/gobwas/glob](https://github.com/gobwas/glob))以用于**包括**在索引中。使用 `**.txt` 匹配任何具有 .txt 扩展名的文件。空列表表示包括所有文件。
- `REPO_INDEXER_EXCLUDE`**empty**: 逗号分隔的 glob 模式列表(参见 [https://github.com/gobwas/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`**100000**通道队列阻塞之前的最大队列大小
- `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 之间。
- `TYPE`**level**: 通用队列类型,当前支持:`level`(在内部使用 LevelDB`channel``redis``dummy`。无效的类型将视为 `level`
- `DATADIR`**queues/common**: 用于存储 level 队列的基本 DataDir。单独的队列的 `DATADIR` 可以在 `queue.name` 部分进行设置。相对路径将根据 `%(APP_DATA_PATH)s` 变为绝对路径。
- `LENGTH`**100000**: 通道队列阻塞之前的最大队列大小
- `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 创建以下非唯一队列:
@@ -487,8 +487,8 @@ Gitea 创建以下非唯一队列:
## Admin (`admin`)
- `DEFAULT_EMAIL_NOTIFICATIONS`: **enabled**用户电子邮件通知的默认配置用户可配置。选项enabled、onmention、disabled
- `DISABLE_REGULAR_ORG_CREATION`: **false**禁止普通(非管理员)用户创建组织。
- `DEFAULT_EMAIL_NOTIFICATIONS`: **enabled**: 用户电子邮件通知的默认配置用户可配置。选项enabled、onmention、disabled
- `DISABLE_REGULAR_ORG_CREATION`: **false**: 禁止普通(非管理员)用户创建组织。
- `USER_DISABLED_FEATURES`:**_empty_** 禁用的用户特性,当前允许为空或者 `deletion``manage_ssh_keys` `manage_gpg_keys` 未来可以增加更多设置。
- `deletion`: 用户不能通过界面或者API删除他自己。
- `manage_ssh_keys`: 用户不能通过界面或者API配置SSH Keys。
@@ -496,29 +496,29 @@ Gitea 创建以下非唯一队列:
## 安全性 (`security`)
- `INSTALL_LOCK`: **false**控制是否能够访问安装向导页面,设置为 `true` 则禁止访问安装向导页面。
- `SECRET_KEY`: **\<每次安装时随机生成\>**全局服务器安全密钥。这个密钥非常重要,如果丢失将无法解密加密的数据(例如 2FA
- `SECRET_KEY_URI`: **_empty_**与定义 `SECRET_KEY` 不同,此选项可用于使用存储在文件中的密钥(示例值:`file:/etc/gitea/secret_key`)。它不应该像 `SECRET_KEY` 一样容易丢失。
- `LOGIN_REMEMBER_DAYS`: **31**在要求重新登录之前,记住用户的登录状态多长时间(以天为单位)。
- `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。
- `INSTALL_LOCK`: **false**: 控制是否能够访问安装向导页面,设置为 `true` 则禁止访问安装向导页面。
- `SECRET_KEY`: **\<每次安装时随机生成\>**: 全局服务器安全密钥。这个密钥非常重要,如果丢失将无法解密加密的数据(例如 2FA
- `SECRET_KEY_URI`: **_empty_**: 与定义 `SECRET_KEY` 不同,此选项可用于使用存储在文件中的密钥(示例值:`file:/etc/gitea/secret_key`)。它不应该像 `SECRET_KEY` 一样容易丢失。
- `LOGIN_REMEMBER_DAYS`: **31**: 在要求重新登录之前,记住用户的登录状态多长时间(以天为单位)。
- `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 钩子。
- `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 将消耗大量内存。
- `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$<time>$<memory>$<threads>$<key-length>`
@@ -534,106 +534,106 @@ Gitea 创建以下非唯一队列:
- `pbkdf2_hi``pbkdf2$320000$50`
- `scrypt``scrypt$65536$16$2$50`
- 使用此功能调整算法参数存在一定风险。
- `CSRF_COOKIE_HTTP_ONLY`: **true**设置为 false 以允许 JavaScript 读取 CSRF cookie。
- `MIN_PASSWORD_LENGTH`: **6**新用户的最小密码长度。
- `PASSWORD_COMPLEXITY`: **off**要求通过最小复杂性的字符类别的逗号分隔列表。如果留空或没有指定有效值则禁用检查off
- `CSRF_COOKIE_HTTP_ONLY`: **true**: 设置为 false 以允许 JavaScript 读取 CSRF cookie。
- `MIN_PASSWORD_LENGTH`: **6**: 新用户的最小密码长度。
- `PASSWORD_COMPLEXITY`: **off**: 要求通过最小复杂性的字符类别的逗号分隔列表。如果留空或没有指定有效值则禁用检查off
- lower - 使用一个或多个小写拉丁字符
- upper - 使用一个或多个大写拉丁字符
- digit - 使用一个或多个数字
- spec - 使用一个或多个特殊字符,如 ``!"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~``
- off - 不检查密码复杂性
- `PASSWORD_CHECK_PWN`: **false**检查密码是否在 [HaveIBeenPwned](https://haveibeenpwned.com/Passwords) 中曝光。
- `SUCCESSFUL_TOKENS_CACHE_SIZE`: **20**缓存成功的令牌哈希。API 令牌在数据库中存储为 pbkdf2 哈希,但这意味着在存在多个 API 操作时可能会有显着的哈希负载。此缓存将在 LRU 缓存中存储成功的哈希令牌,以在性能和安全性之间保持平衡。
- `PASSWORD_CHECK_PWN`: **false**: 检查密码是否在 [HaveIBeenPwned](https://haveibeenpwned.com/Passwords) 中曝光。
- `SUCCESSFUL_TOKENS_CACHE_SIZE`: **20**: 缓存成功的令牌哈希。API 令牌在数据库中存储为 pbkdf2 哈希,但这意味着在存在多个 API 操作时可能会有显着的哈希负载。此缓存将在 LRU 缓存中存储成功的哈希令牌,以在性能和安全性之间保持平衡。
## Camo (`camo`)
- `ENABLED`: **false**启用媒体代理,目前仅支持图像。
- `SERVER_URL`: **_empty_**Camo服务器的URL如果启用camo则**必填**。
- `HMAC_KEY`: **_empty_**为URL编码提供HMAC密钥如果启用camo则**必填**。
- `ALLWAYS`: **false**设置为true以在HTTP和HTTPS内容上使用camo否则仅代理非HTTPS URL。
- `ENABLED`: **false**: 启用媒体代理,目前仅支持图像。
- `SERVER_URL`: **_empty_**: Camo服务器的URL如果启用camo则**必填**。
- `HMAC_KEY`: **_empty_**: 为URL编码提供HMAC密钥如果启用camo则**必填**。
- `ALLWAYS`: **false**: 设置为true以在HTTP和HTTPS内容上使用camo否则仅代理非HTTPS URL。
## OpenID (`openid`)
- `ENABLE_OPENID_SIGNIN`: **true**允许通过OpenID进行身份验证。
- `ENABLE_OPENID_SIGNUP`: **! DISABLE\_REGISTRATION**允许通过OpenID进行注册。
- `WHITELISTED_URIS`: **_empty_**如果非空是一组匹配OpenID URI的POSIX正则表达式模式用于允许访问。
- `BLACKLISTED_URIS`: **_empty_**如果非空是一组匹配OpenID URI的POSIX正则表达式模式用于阻止访问。
- `ENABLE_OPENID_SIGNIN`: **true**: 允许通过OpenID进行身份验证。
- `ENABLE_OPENID_SIGNUP`: **! DISABLE\_REGISTRATION**: 允许通过OpenID进行注册。
- `WHITELISTED_URIS`: **_empty_**: 如果非空是一组匹配OpenID URI的POSIX正则表达式模式用于允许访问。
- `BLACKLISTED_URIS`: **_empty_**: 如果非空是一组匹配OpenID URI的POSIX正则表达式模式用于阻止访问。
## OAuth2 Client (`oauth2_client`)
- `REGISTER_EMAIL_CONFIRM`: _[service]_ **REGISTER\_EMAIL\_CONFIRM**设置此项以启用或禁用OAuth2自动注册的电子邮件确认。覆盖`[service]`部分的`REGISTER\_EMAIL\_CONFIRM`设置)
- `OPENID_CONNECT_SCOPES`: **_empty_**附加的OpenID连接范围的列表。`openid`已隐式添加)
- `ENABLE_AUTO_REGISTRATION`: **false**为新的OAuth2用户自动创建用户帐户。
- `USERNAME`: **nickname**新OAuth2帐户的用户名来源
- `REGISTER_EMAIL_CONFIRM`: _[service]_ **REGISTER\_EMAIL\_CONFIRM**: 设置此项以启用或禁用OAuth2自动注册的电子邮件确认。覆盖`[service]`部分的`REGISTER\_EMAIL\_CONFIRM`设置)
- `OPENID_CONNECT_SCOPES`: **_empty_**: 附加的OpenID连接范围的列表。`openid`已隐式添加)
- `ENABLE_AUTO_REGISTRATION`: **false**: 为新的OAuth2用户自动创建用户帐户。
- `USERNAME`: **nickname**: 新OAuth2帐户的用户名来源
- userid - 使用userid / sub属性
- nickname - 使用nickname属性
- email - 使用email属性的用户名部分
- `UPDATE_AVATAR`: **false**如果OAuth2提供程序中有可用的头像则进行头像更新。更新将在每次登录时执行。
- `ACCOUNT_LINKING`: **login**如果帐户/电子邮件已存在,如何处理:
- `UPDATE_AVATAR`: **false**: 如果OAuth2提供程序中有可用的头像则进行头像更新。更新将在每次登录时执行。
- `ACCOUNT_LINKING`: **login**: 如果帐户/电子邮件已存在,如何处理:
- disabled - 显示错误
- login - 显示帐户链接登录
- auto - 自动与帐户链接(请注意,这将因为提供相同的用户名或电子邮件而自动授予现有帐户的访问权限。您必须确保这不会导致身份验证提供程序出现问题。)
## Service (`service`)
- `ACTIVE_CODE_LIVE_MINUTES`: **180**确认帐户/电子邮件注册的时间限制(分钟)。
- `RESET_PASSWD_CODE_LIVE_MINUTES`: **180**确认忘记密码重置流程的时间限制(分钟)。
- `REGISTER_EMAIL_CONFIRM`: **false**启用此项以要求通过邮件确认注册。需要启用`Mailer`
- `REGISTER_MANUAL_CONFIRM`: **false**启用此项以手动确认新的注册。需要禁用`REGISTER_EMAIL_CONFIRM`
- `DISABLE_REGISTRATION`: **false**禁用注册,之后只有管理员可以为用户创建帐户。
- `REQUIRE_EXTERNAL_REGISTRATION_PASSWORD`: **false**启用此项以强制通过外部方式创建的帐户通过GitHub、OpenID Connect等创建密码。警告启用此项将降低安全性因此只有在您知道自己在做什么时才应启用它。
- `REQUIRE_SIGNIN_VIEW`: **false**启用此项以强制用户登录以查看任何页面或使用API。
- `ENABLE_NOTIFY_MAIL`: **false**启用此项以在发生某些情况(如创建问题)时向存储库的观察者发送电子邮件。需要启用`Mailer`
- `ENABLE_BASIC_AUTHENTICATION`: **true**禁用此项以禁止使用HTTP BASIC和用户的密码进行身份验证。请注意如果禁用此项您将无法使用密码访问令牌API端点。此外这仅会禁用使用密码的BASIC身份验证而不会禁用令牌或OAuth Basic。
- `ENABLE_REVERSE_PROXY_AUTHENTICATION`: **false**启用此项以允许反向代理身份验证。
- `ENABLE_REVERSE_PROXY_AUTO_REGISTRATION`: **false**启用此项以允许反向身份验证的自动注册。
- `ENABLE_REVERSE_PROXY_EMAIL`: **false**启用此项以允许使用提供的电子邮件而不是生成的电子邮件进行自动注册。
- `ENABLE_REVERSE_PROXY_FULL_NAME`: **false**启用此项以允许使用提供的全名进行自动注册。
- `ENABLE_CAPTCHA`: **false**启用此项以对注册使用验证码验证。
- `REQUIRE_CAPTCHA_FOR_LOGIN`: **false**启用此项以要求登录使用验证码验证。您还必须启用`ENABLE_CAPTCHA`
- `REQUIRE_EXTERNAL_REGISTRATION_CAPTCHA`: **false**启用此项以强制对外部帐户即GitHub、OpenID Connect等使用验证码验证。您还必须启用`ENABLE_CAPTCHA`
- `CAPTCHA_TYPE`: **image**\[image、recaptcha、hcaptcha、mcaptcha、cfturnstile\]
- `RECAPTCHA_SECRET`: **""**访问https://www.google.com/recaptcha/admin以获取recaptcha的密钥。
- `RECAPTCHA_SITEKEY`: **""**访问https://www.google.com/recaptcha/admin以获取recaptcha的站点密钥。
- `RECAPTCHA_URL`: **https://www.google.com/recaptcha/**设置recaptcha网址允许使用recaptcha net。
- `HCAPTCHA_SECRET`: **""**注册https://www.hcaptcha.com/以获取hcaptcha的密钥。
- `HCAPTCHA_SITEKEY`: **""**注册https://www.hcaptcha.com/以获取hcaptcha的站点密钥。
- `MCAPTCHA_SECRET`: **""**访问您的mCaptcha实例以获取mCaptcha的密钥。
- `MCAPTCHA_SITEKEY`: **""**访问您的mCaptcha实例以获取mCaptcha的站点密钥。
- `MCAPTCHA_URL` **https://demo.mcaptcha.org/**设置mCaptcha的URL。
- `CF_TURNSTILE_SECRET` **""**访问https://dash.cloudflare.com/?to=/:account/turnstile以获取cloudflare turnstile的密钥。
- `CF_TURNSTILE_SITEKEY` **""**访问https://dash.cloudflare.com/?to=/:account/turnstile以获取cloudflare turnstile的站点密钥。
- `DEFAULT_KEEP_EMAIL_PRIVATE`: **false**默认情况下,将用户设置为保持其电子邮件地址私有。
- `DEFAULT_ALLOW_CREATE_ORGANIZATION`: **true**默认情况下,允许新用户创建组织。
- `DEFAULT_USER_IS_RESTRICTED`: **false**默认情况下,为新用户分配受限权限。
- `DEFAULT_ENABLE_DEPENDENCIES`: **true**启用此项以默认启用依赖项。
- `ACTIVE_CODE_LIVE_MINUTES`: **180**: 确认帐户/电子邮件注册的时间限制(分钟)。
- `RESET_PASSWD_CODE_LIVE_MINUTES`: **180**: 确认忘记密码重置流程的时间限制(分钟)。
- `REGISTER_EMAIL_CONFIRM`: **false**: 启用此项以要求通过邮件确认注册。需要启用`Mailer`
- `REGISTER_MANUAL_CONFIRM`: **false**: 启用此项以手动确认新的注册。需要禁用`REGISTER_EMAIL_CONFIRM`
- `DISABLE_REGISTRATION`: **false**: 禁用注册,之后只有管理员可以为用户创建帐户。
- `REQUIRE_EXTERNAL_REGISTRATION_PASSWORD`: **false**: 启用此项以强制通过外部方式创建的帐户通过GitHub、OpenID Connect等创建密码。警告启用此项将降低安全性因此只有在您知道自己在做什么时才应启用它。
- `REQUIRE_SIGNIN_VIEW`: **false**: 启用此项以强制用户登录以查看任何页面或使用API。
- `ENABLE_NOTIFY_MAIL`: **false**: 启用此项以在发生某些情况(如创建问题)时向存储库的观察者发送电子邮件。需要启用`Mailer`
- `ENABLE_BASIC_AUTHENTICATION`: **true**: 禁用此项以禁止使用HTTP BASIC和用户的密码进行身份验证。请注意如果禁用此项您将无法使用密码访问令牌API端点。此外这仅会禁用使用密码的BASIC身份验证而不会禁用令牌或OAuth Basic。
- `ENABLE_REVERSE_PROXY_AUTHENTICATION`: **false**: 启用此项以允许反向代理身份验证。
- `ENABLE_REVERSE_PROXY_AUTO_REGISTRATION`: **false**: 启用此项以允许反向身份验证的自动注册。
- `ENABLE_REVERSE_PROXY_EMAIL`: **false**: 启用此项以允许使用提供的电子邮件而不是生成的电子邮件进行自动注册。
- `ENABLE_REVERSE_PROXY_FULL_NAME`: **false**: 启用此项以允许使用提供的全名进行自动注册。
- `ENABLE_CAPTCHA`: **false**: 启用此项以对注册使用验证码验证。
- `REQUIRE_CAPTCHA_FOR_LOGIN`: **false**: 启用此项以要求登录使用验证码验证。您还必须启用`ENABLE_CAPTCHA`
- `REQUIRE_EXTERNAL_REGISTRATION_CAPTCHA`: **false**: 启用此项以强制对外部帐户即GitHub、OpenID Connect等使用验证码验证。您还必须启用`ENABLE_CAPTCHA`
- `CAPTCHA_TYPE`: **image**: \[image、recaptcha、hcaptcha、mcaptcha、cfturnstile\]
- `RECAPTCHA_SECRET`: **""**: 访问 https://www.google.com/recaptcha/admin 以获取recaptcha的密钥。
- `RECAPTCHA_SITEKEY`: **""**: 访问 https://www.google.com/recaptcha/admin 以获取recaptcha的站点密钥。
- `RECAPTCHA_URL`: **https://www.google.com/recaptcha/**: 设置recaptcha网址允许使用recaptcha net。
- `HCAPTCHA_SECRET`: **""**: 注册 https://www.hcaptcha.com/ 以获取hcaptcha的密钥。
- `HCAPTCHA_SITEKEY`: **""**: 注册 https://www.hcaptcha.com/ 以获取hcaptcha的站点密钥。
- `MCAPTCHA_SECRET`: **""**: 访问您的mCaptcha实例以获取mCaptcha的密钥。
- `MCAPTCHA_SITEKEY`: **""**: 访问您的mCaptcha实例以获取mCaptcha的站点密钥。
- `MCAPTCHA_URL` **https://demo.mcaptcha.org/**: 设置mCaptcha的URL。
- `CF_TURNSTILE_SECRET` **""**: 访问 https://dash.cloudflare.com/?to=/:account/turnstile 以获取cloudflare turnstile的密钥。
- `CF_TURNSTILE_SITEKEY` **""**: 访问 https://dash.cloudflare.com/?to=/:account/turnstile 以获取cloudflare turnstile的站点密钥。
- `DEFAULT_KEEP_EMAIL_PRIVATE`: **false**: 默认情况下,将用户设置为保持其电子邮件地址私有。
- `DEFAULT_ALLOW_CREATE_ORGANIZATION`: **true**: 默认情况下,允许新用户创建组织。
- `DEFAULT_USER_IS_RESTRICTED`: **false**: 默认情况下,为新用户分配受限权限。
- `DEFAULT_ENABLE_DEPENDENCIES`: **true**: 启用此项以默认启用依赖项。
- `ALLOW_CROSS_REPOSITORY_DEPENDENCIES` : **true** 启用此项以允许从用户被授予访问权限的任何存储库上进行依赖项操作。
- `USER_LOCATION_MAP_URL`: **""**一个显示用户在地图上位置的地图服务URL。位置将作为转义的查询参数附加到URL中。
- `ENABLE_USER_HEATMAP`: **true**启用此项以在用户个人资料上显示热图。
- `ENABLE_TIMETRACKING`: **true**启用时间跟踪功能。
- `DEFAULT_ENABLE_TIMETRACKING`: **true**默认情况下,允许存储库默认使用时间跟踪。
- `DEFAULT_ALLOW_ONLY_CONTRIBUTORS_TO_TRACK_TIME`: **true**仅允许具有写权限的用户跟踪时间。
- `EMAIL_DOMAIN_ALLOWLIST`: **_empty_**如果非空,逗号分隔的域名列表,只能用于在此实例上注册,支持通配符。
- `EMAIL_DOMAIN_BLOCKLIST`: **_empty_**如果非空,逗号分隔的域名列表,不能用于在此实例上注册,支持通配符。
- `SHOW_REGISTRATION_BUTTON`: **! DISABLE\_REGISTRATION**显示注册按钮
- `USER_LOCATION_MAP_URL`: **""**: 一个显示用户在地图上位置的地图服务URL。位置将作为转义的查询参数附加到URL中。
- `ENABLE_USER_HEATMAP`: **true**: 启用此项以在用户个人资料上显示热图。
- `ENABLE_TIMETRACKING`: **true**: 启用时间跟踪功能。
- `DEFAULT_ENABLE_TIMETRACKING`: **true**: 默认情况下,允许存储库默认使用时间跟踪。
- `DEFAULT_ALLOW_ONLY_CONTRIBUTORS_TO_TRACK_TIME`: **true**: 仅允许具有写权限的用户跟踪时间。
- `EMAIL_DOMAIN_ALLOWLIST`: **_empty_**: 如果非空,逗号分隔的域名列表,只能用于在此实例上注册,支持通配符。
- `EMAIL_DOMAIN_BLOCKLIST`: **_empty_**: 如果非空,逗号分隔的域名列表,不能用于在此实例上注册,支持通配符。
- `SHOW_REGISTRATION_BUTTON`: **! DISABLE\_REGISTRATION**: 显示注册按钮
- `SHOW_MILESTONES_DASHBOARD_PAGE`: **true** 启用此项以显示里程碑仪表板页面 - 查看所有用户的里程碑
- `AUTO_WATCH_NEW_REPOS`: **true** 启用此项以在创建新存储库时让所有组织用户观看新存储库
- `AUTO_WATCH_ON_CHANGES`: **false** 启用此项以在首次提交后使用户观看存储库
- `DEFAULT_USER_VISIBILITY`: **public**为用户设置默认的可见性模式,可以是"public"、"limited"或"private"。
- `ALLOWED_USER_VISIBILITY_MODES`: **public,limited,private**设置用户可以具有的可见性模式
- `DEFAULT_ORG_VISIBILITY`: **public**为组织设置默认的可见性模式,可以是"public"、"limited"或"private"。
- `DEFAULT_ORG_MEMBER_VISIBLE`: **false**如果添加到组织时将用户的成员身份可见设置为True。
- `ALLOW_ONLY_INTERNAL_REGISTRATION`: **false**设置为True以强制仅通过Gitea进行注册。
- `ALLOW_ONLY_EXTERNAL_REGISTRATION`: **false**设置为True以强制仅使用第三方服务进行注册。
- `NO_REPLY_ADDRESS`: **noreply.DOMAIN**如果用户将KeepEmailPrivate设置为True则在Git日志中的用户电子邮件地址的域部分的值。DOMAIN解析为server.DOMAIN中的值。
- `DEFAULT_USER_VISIBILITY`: **public**: 为用户设置默认的可见性模式,可以是"public"、"limited"或"private"。
- `ALLOWED_USER_VISIBILITY_MODES`: **public,limited,private**: 设置用户可以具有的可见性模式
- `DEFAULT_ORG_VISIBILITY`: **public**: 为组织设置默认的可见性模式,可以是"public"、"limited"或"private"。
- `DEFAULT_ORG_MEMBER_VISIBLE`: **false**: 如果添加到组织时将用户的成员身份可见设置为True。
- `ALLOW_ONLY_INTERNAL_REGISTRATION`: **false**: 设置为True以强制仅通过Gitea进行注册。
- `ALLOW_ONLY_EXTERNAL_REGISTRATION`: **false**: 设置为True以强制仅使用第三方服务进行注册。
- `NO_REPLY_ADDRESS`: **noreply.DOMAIN**: 如果用户将KeepEmailPrivate设置为True则在Git日志中的用户电子邮件地址的域部分的值。DOMAIN解析为server.DOMAIN中的值。
用户的电子邮件将被替换为小写的用户名、"@"和NO_REPLY_ADDRESS的连接。
- `USER_DELETE_WITH_COMMENTS_MAX_TIME`: **0**用户删除后,评论将保留的最短时间。
- `VALID_SITE_URL_SCHEMES`: **http, https**用户个人资料的有效站点URL方案
- `USER_DELETE_WITH_COMMENTS_MAX_TIME`: **0**: 用户删除后,评论将保留的最短时间。
- `VALID_SITE_URL_SCHEMES`: **http, https**: 用户个人资料的有效站点URL方案
### Service - Explore (`service.explore`)
- `REQUIRE_SIGNIN_VIEW`: **false**仅允许已登录的用户查看探索页面。
- `DISABLE_USERS_PAGE`: **false**禁用用户探索页面。
- `REQUIRE_SIGNIN_VIEW`: **false**: 仅允许已登录的用户查看探索页面。
- `DISABLE_USERS_PAGE`: **false**: 禁用用户探索页面。
## SSH Minimum Key Sizes (`ssh.minimum_key_sizes`)
@@ -641,14 +641,14 @@ Gitea 创建以下非唯一队列:
- `ED25519`**256**
- `ECDSA`**256**
- `RSA`**3071**我们在这里设置为2047因为一个其他方面有效的3072 RSA密钥可能被报告为3071长度。
- `DSA`**-1**默认情况下禁用DSA。设置为**1024**以重新启用但请注意可能需要重新配置您的SSHD提供者
- `RSA`**3071**: 我们在这里设置为2047因为一个其他方面有效的3072 RSA密钥可能被报告为3071长度。
- `DSA`**-1**: 默认情况下禁用DSA。设置为**1024**以重新启用但请注意可能需要重新配置您的SSHD提供者
## Webhook (`webhook`)
- `QUEUE_LENGTH`: **1000**钩子任务队列长度。编辑此值时要小心。
- `DELIVER_TIMEOUT`: **5**发送 Webhook 的交付超时时间(秒)。
- `ALLOWED_HOST_LIST`: **external**出于安全原因Webhook 仅能调用允许的主机。以逗号分隔的列表。
- `QUEUE_LENGTH`: **1000**: 钩子任务队列长度。编辑此值时要小心。
- `DELIVER_TIMEOUT`: **5**: 发送 Webhook 的交付超时时间(秒)。
- `ALLOWED_HOST_LIST`: **external**: 出于安全原因Webhook 仅能调用允许的主机。以逗号分隔的列表。
- 内置网络:
- `loopback`IPv4 的 127.0.0.0/8 和 IPv6 的 ::1/128包括 localhost。
- `private`RFC 191810.0.0.0/8172.16.0.0/12192.168.0.0/16和 RFC 4193FC00::/7。也称为 LAN/Intranet。
@@ -656,10 +656,10 @@ Gitea 创建以下非唯一队列:
- `*`:允许所有主机。
- CIDR 列表IPv4 的 `1.2.3.0/8` 和 IPv6 的 `2001:db8::/32`
- 通配符主机:`*.mydomain.com``192.168.100.*`
- `SKIP_TLS_VERIFY`: **false**允许不安全的证书。
- `PAGING_NUM`: **10**一页中显示的 Webhook 历史事件数量。
- `PROXY_URL`: **_empty_**代理服务器 URL支持 http://、https://、socks://,留空将遵循环境的 http_proxy/https_proxy 设置。如果未提供,将使用全局代理设置。
- `PROXY_HOSTS`: **_empty_**需要代理的主机名的逗号分隔列表。支持通配符模式 (*);使用 ** 来匹配所有主机。如果未提供,将使用全局代理设置。
- `SKIP_TLS_VERIFY`: **false**: 允许不安全的证书。
- `PAGING_NUM`: **10**: 一页中显示的 Webhook 历史事件数量。
- `PROXY_URL`: **_empty_**: 代理服务器 URL支持 http://、https://、socks://,留空将遵循环境的 http_proxy/https_proxy 设置。如果未提供,将使用全局代理设置。
- `PROXY_HOSTS`: **_empty_**: 需要代理的主机名的逗号分隔列表。支持通配符模式 (*);使用 ** 来匹配所有主机。如果未提供,将使用全局代理设置。
## 邮件 (`mailer`)
@@ -668,50 +668,50 @@ Gitea 创建以下非唯一队列:
[Gitea 1.17 配置文档](https://github.com/go-gitea/gitea/blob/release/v1.17/docs/content/doc/advanced/config-cheat-sheet.en-us.md)
- `ENABLED`: **false**是否启用邮件服务。
- `PROTOCOL`: **_empty_**邮件服务协议,可选择 "smtp"、"smtps"、"smtp+starttls"、"smtp+unix"、"sendmail"、"dummy"。在 Gitea 1.18 之前,邮件服务协议由 `MAILER_TYPE``IS_TLS_ENABLED` 两个配置共同决定。
- `ENABLED`: **false**: 是否启用邮件服务。
- `PROTOCOL`: **_empty_**: 邮件服务协议,可选择 "smtp"、"smtps"、"smtp+starttls"、"smtp+unix"、"sendmail"、"dummy"。在 Gitea 1.18 之前,邮件服务协议由 `MAILER_TYPE``IS_TLS_ENABLED` 两个配置共同决定。
- SMTP 类族,如果您的提供者没有明确说明使用的是哪个协议,但提供了一个端口,您可以设置 SMTP_PORT它将被推断出来。
- **sendmail** 使用操作系统的 `sendmail` 命令,而不是 SMTP。这在 Linux 系统上很常见。
- **dummy** 将邮件消息发送到日志,作为测试阶段。
- 请注意,启用 sendmail 将忽略所有其他 `mailer` 设置,除了 `ENABLED``FROM``SUBJECT_PREFIX``SENDMAIL_PATH`
- 启用 dummy 将忽略所有设置,除了 `ENABLED``SUBJECT_PREFIX``FROM`
- `SMTP_ADDR`: **_empty_**邮件服务器地址,例如 smtp.gmail.com。对于 smtp+unix这应该是一个到 unix socket 的路径。在 1.18 之前,此设置与 `SMTP_PORT` 合并,名称为 `HOST`
- `SMTP_PORT`: **_empty_**邮件服务器端口。如果未指定协议,将通过此设置进行推断。常用端口如下。在 1.18 之前,此设置与 `SMTP_ADDR` 合并,名称为 `HOST`
- `SMTP_ADDR`: **_empty_**: 邮件服务器地址,例如 smtp.gmail.com。对于 smtp+unix这应该是一个到 unix socket 的路径。在 1.18 之前,此设置与 `SMTP_PORT` 合并,名称为 `HOST`
- `SMTP_PORT`: **_empty_**: 邮件服务器端口。如果未指定协议,将通过此设置进行推断。常用端口如下。在 1.18 之前,此设置与 `SMTP_ADDR` 合并,名称为 `HOST`
- 25不安全的简单邮件传输协议insecure SMTP
- 465安全的简单邮件传输协议SMTP Secure
- 587StartTLS
- `USE_CLIENT_CERT`: **false**使用客户端证书进行 TLS/SSL 加密。
- `CLIENT_CERT_FILE`: **custom/mailer/cert.pem**客户端证书文件。
- `CLIENT_KEY_FILE`: **custom/mailer/key.pem**客户端密钥文件。
- `FORCE_TRUST_SERVER_CERT`: **false**如果设置为 `true`,将完全忽略服务器证书验证错误。此选项不安全。考虑将证书添加到系统信任存储中。
- `USER`: **_empty_**邮件用户的用户名(通常是发件人的电子邮件地址)。
- `PASSWD`: **_empty_**邮件用户的密码。如果密码中使用了特殊字符,请使用 \`your password\` 进行引用。
- `USE_CLIENT_CERT`: **false**: 使用客户端证书进行 TLS/SSL 加密。
- `CLIENT_CERT_FILE`: **custom/mailer/cert.pem**: 客户端证书文件。
- `CLIENT_KEY_FILE`: **custom/mailer/key.pem**: 客户端密钥文件。
- `FORCE_TRUST_SERVER_CERT`: **false**: 如果设置为 `true`,将完全忽略服务器证书验证错误。此选项不安全。考虑将证书添加到系统信任存储中。
- `USER`: **_empty_**: 邮件用户的用户名(通常是发件人的电子邮件地址)。
- `PASSWD`: **_empty_**: 邮件用户的密码。如果密码中使用了特殊字符,请使用 \`your password\` 进行引用。
- 请注意:只有在 SMTP 服务器通信通过 TLS 加密(可以通过 `STARTTLS` 实现)或 SMTP 主机是 localhost 时,才支持身份验证。有关更多信息,请参阅 [邮件设置](../administration/email-setup.md)。
- `ENABLE_HELO`: **true**启用 HELO 操作。
- `HELO_HOSTNAME`: **(从系统检索)**HELO 主机名。
- `FROM`: **_empty_**邮件的发件人地址,符合 RFC 5322。这可以是一个电子邮件地址也可以是 "Name" \<email@example.com\> 格式。
- `ENVELOPE_FROM`: **_empty_**在 SMTP 邮件信封上设置的地址作为发件地址。设置为 `<>` 以发送一个空地址。
- `SUBJECT_PREFIX`: **_empty_**放置在电子邮件主题行之前的前缀。
- `SENDMAIL_PATH`: **sendmail**操作系统上 `sendmail` 的位置(可以是命令或完整路径)。
- `SENDMAIL_ARGS`: **_empty_**指定任何额外的 sendmail 参数。(注意:您应该知道电子邮件地址可能看起来像选项 - 如果您的 `sendmail` 命令带有选项,您必须设置选项终止符 `--`
- `SENDMAIL_TIMEOUT`: **5m**通过 sendmail 发送电子邮件的默认超时时间。
- `SENDMAIL_CONVERT_CRLF`: **true**大多数版本的 sendmail 偏好使用 LF 换行符,而不是 CRLF 换行符。如果您的 sendmail 版本需要 CRLF 换行符,请将此设置为 false。
- `SEND_BUFFER_LEN`: **100**邮件队列的缓冲区长度。**已弃用**,请在 `[queue.mailer]` 中使用 `LENGTH`
- `SEND_AS_PLAIN_TEXT`: **false**仅以纯文本形式发送邮件,不包括 HTML 备选方案。
- `ENABLE_HELO`: **true**: 启用 HELO 操作。
- `HELO_HOSTNAME`: **(从系统检索)**: HELO 主机名。
- `FROM`: **_empty_**: 邮件的发件人地址,符合 RFC 5322。这可以是一个电子邮件地址也可以是 "Name" \<email@example.com\> 格式。
- `ENVELOPE_FROM`: **_empty_**: 在 SMTP 邮件信封上设置的地址作为发件地址。设置为 `<>` 以发送一个空地址。
- `SUBJECT_PREFIX`: **_empty_**: 放置在电子邮件主题行之前的前缀。
- `SENDMAIL_PATH`: **sendmail**: 操作系统上 `sendmail` 的位置(可以是命令或完整路径)。
- `SENDMAIL_ARGS`: **_empty_**: 指定任何额外的 sendmail 参数。(注意:您应该知道电子邮件地址可能看起来像选项 - 如果您的 `sendmail` 命令带有选项,您必须设置选项终止符 `--`
- `SENDMAIL_TIMEOUT`: **5m**: 通过 sendmail 发送电子邮件的默认超时时间。
- `SENDMAIL_CONVERT_CRLF`: **true**: 大多数版本的 sendmail 偏好使用 LF 换行符,而不是 CRLF 换行符。如果您的 sendmail 版本需要 CRLF 换行符,请将此设置为 false。
- `SEND_BUFFER_LEN`: **100**: 邮件队列的缓冲区长度。**已弃用**,请在 `[queue.mailer]` 中使用 `LENGTH`
- `SEND_AS_PLAIN_TEXT`: **false**: 仅以纯文本形式发送邮件,不包括 HTML 备选方案。
## 入站邮件 (`email.incoming`)
- `ENABLED`: **false**启用处理入站邮件。
- `REPLY_TO_ADDRESS`: **_empty_**包括 `%{token}` 占位符的电子邮件地址,该占位符将根据用户/操作进行替换。示例:`incoming+%{token}@example.com`。占位符必须出现在地址的用户部分(在 `@` 之前)。
- `HOST`: **_empty_**IMAP 服务器主机。
- `PORT`: **_empty_**IMAP 服务器端口。
- `USERNAME`: **_empty_**接收帐户的用户名。
- `PASSWORD`: **_empty_**接收帐户的密码。
- `USE_TLS`: **false**IMAP 服务器是否使用 TLS。
- `SKIP_TLS_VERIFY`: **false**如果设置为 `true`,将完全忽略服务器证书验证错误。此选项不安全。
- `MAILBOX`: **INBOX**入站邮件将到达的邮箱名称。
- `DELETE_HANDLED_MESSAGE`: **true**是否应从邮箱中删除已处理的消息。
- `MAXIMUM_MESSAGE_SIZE`: **10485760**要处理的消息的最大大小。忽略更大的消息。将其设置为 0 以允许每种大小。
- `ENABLED`: **false**: 启用处理入站邮件。
- `REPLY_TO_ADDRESS`: **_empty_**: 包括 `%{token}` 占位符的电子邮件地址,该占位符将根据用户/操作进行替换。示例:`incoming+%{token}@example.com`。占位符必须出现在地址的用户部分(在 `@` 之前)。
- `HOST`: **_empty_**: IMAP 服务器主机。
- `PORT`: **_empty_**: IMAP 服务器端口。
- `USERNAME`: **_empty_**: 接收帐户的用户名。
- `PASSWORD`: **_empty_**: 接收帐户的密码。
- `USE_TLS`: **false**: IMAP 服务器是否使用 TLS。
- `SKIP_TLS_VERIFY`: **false**: 如果设置为 `true`,将完全忽略服务器证书验证错误。此选项不安全。
- `MAILBOX`: **INBOX**: 入站邮件将到达的邮箱名称。
- `DELETE_HANDLED_MESSAGE`: **true**: 是否应从邮箱中删除已处理的消息。
- `MAXIMUM_MESSAGE_SIZE`: **10485760**: 要处理的消息的最大大小。忽略更大的消息。将其设置为 0 以允许每种大小。
## 缓存 (`cache`)
@@ -726,43 +726,43 @@ Gitea 创建以下非唯一队列:
### 缓存 - 最后提交缓存设置 (`cache.last_commit`)
- `ITEM_TTL`: **8760h**如果未使用,保持缓存中的项目的时间,将其设置为 -1 会禁用缓存。
- `COMMITS_COUNT`: **1000**仅在存储库的提交计数大于时启用缓存。
- `ITEM_TTL`: **8760h**: 如果未使用,保持缓存中的项目的时间,将其设置为 -1 会禁用缓存。
- `COMMITS_COUNT`: **1000**: 仅在存储库的提交计数大于时启用缓存。
## 会话 (`session`)
- `PROVIDER`: **memory**会话存储引擎 \[memory, file, redis, redis-cluster, db, mysql, couchbase, memcache, postgres\]。设置为 `db` 将会重用 `[database]` 的配置信息。
- `PROVIDER_CONFIG`: **data/sessions**对于文件,为根路径;对于 db为空将使用数据库配置对于其他引擎为连接字符串。相对路径将根据 _`AppWorkPath`_ 绝对化。
- `COOKIE_SECURE`: **_empty_**`true``false`。启用此选项以强制在所有会话访问中使用 HTTPS。如果没有设置当 ROOT_URL 是 https 链接的时候默认设置为 true。
- `COOKIE_NAME`: **i\_like\_gitea**用于会话 ID 的 cookie 名称。
- `GC_INTERVAL_TIME`: **86400**GC 间隔时间,以秒为单位。
- `SESSION_LIFE_TIME`: **86400**会话生命周期,以秒为单位,默认为 864001 天)。
- `DOMAIN`: **_empty_**设置 cookie 的域。
- `PROVIDER`: **memory**: 会话存储引擎 \[memory, file, redis, redis-cluster, db, mysql, couchbase, memcache, postgres\]。设置为 `db` 将会重用 `[database]` 的配置信息。
- `PROVIDER_CONFIG`: **data/sessions**: 对于文件,为根路径;对于 db为空将使用数据库配置对于其他引擎为连接字符串。相对路径将根据 _`AppWorkPath`_ 绝对化。
- `COOKIE_SECURE`: **_empty_**: `true``false`。启用此选项以强制在所有会话访问中使用 HTTPS。如果没有设置当 ROOT_URL 是 https 链接的时候默认设置为 true。
- `COOKIE_NAME`: **i\_like\_gitea**: 用于会话 ID 的 cookie 名称。
- `GC_INTERVAL_TIME`: **86400**: GC 间隔时间,以秒为单位。
- `SESSION_LIFE_TIME`: **86400**: 会话生命周期,以秒为单位,默认为 864001 天)。
- `DOMAIN`: **_empty_**: 设置 cookie 的域。
- `SAME_SITE`: **lax** \[strict, lax, none\]:为 cookie 设置 SameSite 属性。
## 图像 (`picture`)
- `GRAVATAR_SOURCE`: **gravatar**头像来源,可以是 gravatar、duoshuo 或类似 http://cn.gravatar.com/avatar/ 的来源。
- `GRAVATAR_SOURCE`: **gravatar**: 头像来源,可以是 gravatar、duoshuo 或类似 http://cn.gravatar.com/avatar/ 的来源。
`http://cn.gravatar.com/avatar/`
- `DISABLE_GRAVATAR`: **false**启用后,只使用内部头像。**已弃用 [v1.18+]** 该配置已迁移到数据库中保存,通过管理员面板进行配置。
- `ENABLE_FEDERATED_AVATAR`: **false**启用头像联盟支持(参见
- `DISABLE_GRAVATAR`: **false**: 启用后,只使用内部头像。**已弃用 [v1.18+]** 该配置已迁移到数据库中保存,通过管理员面板进行配置。
- `ENABLE_FEDERATED_AVATAR`: **false**: 启用头像联盟支持(参见
[http://www.libravatar.org](http://www.libravatar.org))。**已弃用 [v1.18+]** 该配置已迁移到数据库中保存,通过管理员面板进行配置。
- `AVATAR_STORAGE_TYPE`: **default**`[storage.xxx]` 中定义的存储类型。默认为 `default`,如果没有 `[storage]` 部分,则将读取 `[storage]`,如果没有则将是 `local` 类型。
- `AVATAR_UPLOAD_PATH`: **data/avatars**存储用户头像图像文件的路径。
- `AVATAR_MAX_WIDTH`: **4096**头像的最大宽度,以像素为单位。
- `AVATAR_MAX_HEIGHT`: **4096**头像的最大高度,以像素为单位。
- `AVATAR_STORAGE_TYPE`: **default**: `[storage.xxx]` 中定义的存储类型。默认为 `default`,如果没有 `[storage]` 部分,则将读取 `[storage]`,如果没有则将是 `local` 类型。
- `AVATAR_UPLOAD_PATH`: **data/avatars**: 存储用户头像图像文件的路径。
- `AVATAR_MAX_WIDTH`: **4096**: 头像的最大宽度,以像素为单位。
- `AVATAR_MAX_HEIGHT`: **4096**: 头像的最大高度,以像素为单位。
- `AVATAR_MAX_FILE_SIZE`: **1048576**1MiB头像的最大大小。
- `AVATAR_MAX_ORIGIN_SIZE`: **262144**256KiB如果上传的文件不大于此字节大小则图像将原样使用无需调整大小/转换。
- `AVATAR_RENDERED_SIZE_FACTOR`: **2**渲染的头像图像的乘法因子。较大的值在 HiDPI 设备上会产生更细腻的渲染。
- `AVATAR_RENDERED_SIZE_FACTOR`: **2**: 渲染的头像图像的乘法因子。较大的值在 HiDPI 设备上会产生更细腻的渲染。
- `REPOSITORY_AVATAR_STORAGE_TYPE`: **default**`[storage.xxx]` 中定义的存储类型。默认为 `default`,如果没有 `[storage]` 部分,则将读取 `[storage]`,如果没有则将是 `local` 类型。
- `REPOSITORY_AVATAR_UPLOAD_PATH`: **data/repo-avatars**存储仓库头像图像文件的路径。
- `REPOSITORY_AVATAR_FALLBACK`: **none**Gitea 处理缺少仓库头像的方式
- `REPOSITORY_AVATAR_STORAGE_TYPE`: **default**: `[storage.xxx]` 中定义的存储类型。默认为 `default`,如果没有 `[storage]` 部分,则将读取 `[storage]`,如果没有则将是 `local` 类型。
- `REPOSITORY_AVATAR_UPLOAD_PATH`: **data/repo-avatars**: 存储仓库头像图像文件的路径。
- `REPOSITORY_AVATAR_FALLBACK`: **none**: Gitea 处理缺少仓库头像的方式
- none = 不显示任何头像
- random = 生成随机头像
- image = 使用默认图像(在 `REPOSITORY_AVATAR_FALLBACK_IMAGE` 中设置),如果设置为 image 并且未上传任何图像。
- `REPOSITORY_AVATAR_FALLBACK_IMAGE`: **/img/repo_default.png**作为默认仓库头像的图像(如果将 `REPOSITORY_AVATAR_FALLBACK` 设置为 image 并且没有上传图像)。
- `REPOSITORY_AVATAR_FALLBACK_IMAGE`: **/img/repo_default.png**: 作为默认仓库头像的图像(如果将 `REPOSITORY_AVATAR_FALLBACK` 设置为 image 并且没有上传图像)。
## 项目 (`project`)
@@ -1039,23 +1039,23 @@ Gitea 创建以下非唯一队列:
## OAuth2 (`oauth2`)
- `ENABLED`: **true**启用OAuth2提供者。
- `ACCESS_TOKEN_EXPIRATION_TIME`**3600**OAuth2访问令牌的生命周期以秒为单位。
- `REFRESH_TOKEN_EXPIRATION_TIME`**730**OAuth2刷新令牌的生命周期以小时为单位。
- `INVALIDATE_REFRESH_TOKENS`**false**检查刷新令牌是否已被使用。
- `JWT_SIGNING_ALGORITHM`**RS256**用于签署OAuth2令牌的算法。有效值[`HS256``HS384``HS512``RS256``RS384``RS512``ES256``ES384``ES512`]。
- `JWT_SECRET`**_empty_**OAuth2访问和刷新令牌的身份验证密钥请将其更改为唯一的字符串。仅当`JWT_SIGNING_ALGORITHM`设置为`HS256``HS384``HS512`时才需要此设置。
- `JWT_SECRET_URI`**_empty_**可以使用此配置选项,而不是在配置中定义`JWT_SECRET`以向Gitea提供包含密钥的文件的路径示例值`file:/etc/gitea/oauth2_jwt_secret`)。
- `JWT_SIGNING_PRIVATE_KEY_FILE`**jwt/private.pem**用于签署OAuth2令牌的私钥文件路径。路径相对于`APP_DATA_PATH`。仅当`JWT_SIGNING_ALGORITHM`设置为`RS256``RS384``RS512``ES256``ES384``ES512`时才需要此设置。文件必须包含PKCS8格式的RSA或ECDSA私钥。如果不存在密钥则将为您创建一个4096位密钥。
- `MAX_TOKEN_LENGTH`**32767**从OAuth2提供者接受的令牌/cookie的最大长度。
- `DEFAULT_APPLICATIONS`**git-credential-oauthgit-credential-manager, tea**在启动时预注册用于某些服务的OAuth应用程序。有关可用选项列表请参阅[OAuth2文档](/development/oauth2-provider.md)。
- `ENABLED`: **true**: 启用OAuth2提供者。
- `ACCESS_TOKEN_EXPIRATION_TIME`**3600**: OAuth2访问令牌的生命周期以秒为单位。
- `REFRESH_TOKEN_EXPIRATION_TIME`**730**: OAuth2刷新令牌的生命周期以小时为单位。
- `INVALIDATE_REFRESH_TOKENS`**false**: 检查刷新令牌是否已被使用。
- `JWT_SIGNING_ALGORITHM`**RS256**: 用于签署OAuth2令牌的算法。有效值[`HS256``HS384``HS512``RS256``RS384``RS512``ES256``ES384``ES512`]。
- `JWT_SECRET`**_empty_**: OAuth2访问和刷新令牌的身份验证密钥请将其更改为唯一的字符串。仅当`JWT_SIGNING_ALGORITHM`设置为`HS256``HS384``HS512`时才需要此设置。
- `JWT_SECRET_URI`**_empty_**: 可以使用此配置选项,而不是在配置中定义`JWT_SECRET`以向Gitea提供包含密钥的文件的路径示例值`file:/etc/gitea/oauth2_jwt_secret`)。
- `JWT_SIGNING_PRIVATE_KEY_FILE`**jwt/private.pem**: 用于签署OAuth2令牌的私钥文件路径。路径相对于`APP_DATA_PATH`。仅当`JWT_SIGNING_ALGORITHM`设置为`RS256``RS384``RS512``ES256``ES384``ES512`时才需要此设置。文件必须包含PKCS8格式的RSA或ECDSA私钥。如果不存在密钥则将为您创建一个4096位密钥。
- `MAX_TOKEN_LENGTH`**32767**: 从OAuth2提供者接受的令牌/cookie的最大长度。
- `DEFAULT_APPLICATIONS`**git-credential-oauthgit-credential-manager, tea**: 在启动时预注册用于某些服务的OAuth应用程序。有关可用选项列表请参阅[OAuth2文档](/development/oauth2-provider.md)。
## i18n (`i18n`)
- `LANGS`: **en-US,zh-CN,zh-HK,zh-TW,de-DE,fr-FR,nl-NL,lv-LV,ru-RU,uk-UA,ja-JP,es-ES,pt-BR,pt-PT,pl-PL,bg-BG,it-IT,fi-FI,tr-TR,cs-CZ,sv-SE,ko-KR,el-GR,fa-IR,hu-HU,id-ID,ml-IN**
- `LANGS`: **en-US,zh-CN,zh-HK,zh-TW,de-DE,fr-FR,nl-NL,lv-LV,ru-RU,uk-UA,ja-JP,es-ES,pt-BR,pt-PT,pl-PL,bg-BG,it-IT,fi-FI,tr-TR,cs-CZ,sv-SE,ko-KR,el-GR,fa-IR,hu-HU,id-ID,ml-IN**:
在语言选择器中显示的区域设置列表。如果用户浏览器的语言与列表中的任何区域设置不匹配,则将使用第一个区域设置作为默认值。
- `NAMES`**English,简体中文,繁體中文(香港),繁體中文(台灣),Deutsch,Français,Nederlands,Latviešu,Русский,Українська,日本語,Español,Português do Brasil,Português de Portugal,Polski,Български,Italiano,Suomi,Türkçe,Čeština,Српски,Svenska,한국어,Ελληνικά,فارسی,Magyar nyelv,Bahasa Indonesia,മലയാളം**
- `NAMES`**English,简体中文,繁體中文(香港),繁體中文(台灣),Deutsch,Français,Nederlands,Latviešu,Русский,Українська,日本語,Español,Português do Brasil,Português de Portugal,Polski,Български,Italiano,Suomi,Türkçe,Čeština,Српски,Svenska,한국어,Ελληνικά,فارسی,Magyar nyelv,Bahasa Indonesia,മലയാളം**:
对应于各区域设置的可见名称。
## Markup (`markup`)
@@ -1122,92 +1122,92 @@ ALLOW_DATA_URI_IMAGES = true
## 迁移 (`migrations`)
- `MAX_ATTEMPTS`**3**每次 http/https 请求的最大尝试次数(用于迁移)。
- `RETRY_BACKOFF`**3**每次 http/https 请求重试的退避时间(秒)。
- `ALLOWED_DOMAINS`**_empty_**允许迁移仓库的域名允许列表,默认为空。这意味着允许外部网址。多个域名可以用逗号分隔。支持通配符:`github.com, *.github.com`
- `BLOCKED_DOMAINS`**_empty_**阻止迁移仓库的域名阻止列表,默认为空。多个域名可以用逗号分隔。当 `ALLOWED_DOMAINS` 不为空时,此选项优先级较高,用于拒绝域名。支持通配符。
- `ALLOW_LOCALNETWORKS`**false**允许 RFC 1918、RFC 1122、RFC 4632 和 RFC 4291 中定义的私有地址。如果域名被 `ALLOWED_DOMAINS` 允许,此选项将被忽略。
- `SKIP_TLS_VERIFY`**false**允许跳过 TLS 验证。
- `MAX_ATTEMPTS`**3**: 每次 http/https 请求的最大尝试次数(用于迁移)。
- `RETRY_BACKOFF`**3**: 每次 http/https 请求重试的退避时间(秒)。
- `ALLOWED_DOMAINS`**_empty_**: 允许迁移仓库的域名允许列表,默认为空。这意味着允许外部网址。多个域名可以用逗号分隔。支持通配符:`github.com, *.github.com`
- `BLOCKED_DOMAINS`**_empty_**: 阻止迁移仓库的域名阻止列表,默认为空。多个域名可以用逗号分隔。当 `ALLOWED_DOMAINS` 不为空时,此选项优先级较高,用于拒绝域名。支持通配符。
- `ALLOW_LOCALNETWORKS`**false**: 允许 RFC 1918、RFC 1122、RFC 4632 和 RFC 4291 中定义的私有地址。如果域名被 `ALLOWED_DOMAINS` 允许,此选项将被忽略。
- `SKIP_TLS_VERIFY`**false**: 允许跳过 TLS 验证。
## 联邦(`federation`
- `ENABLED`**false**启用/禁用联邦功能。
- `SHARE_USER_STATISTICS`**true**如果启用联邦,则启用/禁用节点信息的用户统计信息。
- `MAX_SIZE`**4**联邦请求和响应的最大大小MB
- `ENABLED`**false**: 启用/禁用联邦功能。
- `SHARE_USER_STATISTICS`**true**: 如果启用联邦,则启用/禁用节点信息的用户统计信息。
- `MAX_SIZE`**4**: 联邦请求和响应的最大大小MB
警告:更改以下设置可能会破坏联邦功能。
- `ALGORITHMS`**rsa-sha256, rsa-sha512, ed25519**HTTP 签名算法。
- `DIGEST_ALGORITHM`**SHA-256**HTTP 签名摘要算法。
- `GET_HEADERS`**(request-target), Date**用于联邦请求的 GET 头部。
- `POST_HEADERS`**(request-target), Date, Digest**用于联邦请求的 POST 头部。
- `ALGORITHMS`**rsa-sha256, rsa-sha512, ed25519**: HTTP 签名算法。
- `DIGEST_ALGORITHM`**SHA-256**: HTTP 签名摘要算法。
- `GET_HEADERS`**(request-target), Date**: 用于联邦请求的 GET 头部。
- `POST_HEADERS`**(request-target), Date, Digest**: 用于联邦请求的 POST 头部。
## 包(`packages`
- `ENABLED`**true**启用/禁用包注册表功能。
- `CHUNKED_UPLOAD_PATH`**tmp/package-upload**分块上传的路径。默认为 `APP_DATA_PATH` + `tmp/package-upload`
- `LIMIT_TOTAL_OWNER_COUNT`**-1**单个所有者可以拥有的包版本的最大数量(`-1` 表示无限制)。
- `LIMIT_TOTAL_OWNER_SIZE`**-1**单个所有者可以使用的包的最大大小(`-1` 表示无限制,格式为 `1000``1 MB``1 GiB`)。
- `LIMIT_SIZE_ALPINE`**-1**Alpine 上传的最大大小(`-1` 表示无限制,格式为 `1000``1 MB``1 GiB`)。
- `LIMIT_SIZE_CARGO`**-1**Cargo 上传的最大大小(`-1` 表示无限制,格式为 `1000``1 MB``1 GiB`)。
- `LIMIT_SIZE_CHEF`**-1**Chef 上传的最大大小(`-1` 表示无限制,格式为 `1000``1 MB``1 GiB`)。
- `LIMIT_SIZE_COMPOSER`**-1**Composer 上传的最大大小(`-1` 表示无限制,格式为 `1000``1 MB``1 GiB`)。
- `LIMIT_SIZE_CONAN`**-1**Conan 上传的最大大小(`-1` 表示无限制,格式为 `1000``1 MB``1 GiB`)。
- `LIMIT_SIZE_CONDA`**-1**Conda 上传的最大大小(`-1` 表示无限制,格式为 `1000``1 MB``1 GiB`)。
- `LIMIT_SIZE_CONTAINER`**-1**Container 上传的最大大小(`-1` 表示无限制,格式为 `1000``1 MB``1 GiB`)。
- `LIMIT_SIZE_CRAN`**-1**CRAN 上传的最大大小(`-1` 表示无限制,格式为 `1000``1 MB``1 GiB`)。
- `LIMIT_SIZE_DEBIAN`**-1**Debian 上传的最大大小(`-1` 表示无限制,格式为 `1000``1 MB``1 GiB`)。
- `LIMIT_SIZE_GENERIC`**-1**通用上传的最大大小(`-1` 表示无限制,格式为 `1000``1 MB``1 GiB`)。
- `LIMIT_SIZE_GO`**-1**Go 上传的最大大小(`-1` 表示无限制,格式为 `1000``1 MB``1 GiB`)。
- `LIMIT_SIZE_HELM`**-1**Helm 上传的最大大小(`-1` 表示无限制,格式为 `1000``1 MB``1 GiB`)。
- `LIMIT_SIZE_MAVEN`**-1**Maven 上传的最大大小(`-1` 表示无限制,格式为 `1000``1 MB``1 GiB`)。
- `LIMIT_SIZE_NPM`**-1**npm 上传的最大大小(`-1` 表示无限制,格式为 `1000``1 MB``1 GiB`)。
- `LIMIT_SIZE_NUGET`**-1**NuGet 上传的最大大小(`-1` 表示无限制,格式为 `1000``1 MB``1 GiB`)。
- `LIMIT_SIZE_PUB`**-1**Pub 上传的最大大小(`-1` 表示无限制,格式为 `1000``1 MB``1 GiB`)。
- `LIMIT_SIZE_PYPI`**-1**PyPI 上传的最大大小(`-1` 表示无限制,格式为 `1000``1 MB``1 GiB`)。
- `LIMIT_SIZE_RPM`**-1**RPM 上传的最大大小(`-1` 表示无限制,格式为 `1000``1 MB``1 GiB`)。
- `LIMIT_SIZE_RUBYGEMS`**-1**RubyGems 上传的最大大小(`-1` 表示无限制,格式为 `1000``1 MB``1 GiB`)。
- `LIMIT_SIZE_SWIFT`**-1**Swift 上传的最大大小(`-1` 表示无限制,格式为 `1000``1 MB``1 GiB`)。
- `LIMIT_SIZE_VAGRANT`**-1**Vagrant 上传的最大大小(`-1` 表示无限制,格式为 `1000``1 MB``1 GiB`)。
- `ENABLED`**true**: 启用/禁用包注册表功能。
- `CHUNKED_UPLOAD_PATH`**tmp/package-upload**: 分块上传的路径。默认为 `APP_DATA_PATH` + `tmp/package-upload`
- `LIMIT_TOTAL_OWNER_COUNT`**-1**: 单个所有者可以拥有的包版本的最大数量(`-1` 表示无限制)。
- `LIMIT_TOTAL_OWNER_SIZE`**-1**: 单个所有者可以使用的包的最大大小(`-1` 表示无限制,格式为 `1000``1 MB``1 GiB`)。
- `LIMIT_SIZE_ALPINE`**-1**: Alpine 上传的最大大小(`-1` 表示无限制,格式为 `1000``1 MB``1 GiB`)。
- `LIMIT_SIZE_CARGO`**-1**: Cargo 上传的最大大小(`-1` 表示无限制,格式为 `1000``1 MB``1 GiB`)。
- `LIMIT_SIZE_CHEF`**-1**: Chef 上传的最大大小(`-1` 表示无限制,格式为 `1000``1 MB``1 GiB`)。
- `LIMIT_SIZE_COMPOSER`**-1**: Composer 上传的最大大小(`-1` 表示无限制,格式为 `1000``1 MB``1 GiB`)。
- `LIMIT_SIZE_CONAN`**-1**: Conan 上传的最大大小(`-1` 表示无限制,格式为 `1000``1 MB``1 GiB`)。
- `LIMIT_SIZE_CONDA`**-1**: Conda 上传的最大大小(`-1` 表示无限制,格式为 `1000``1 MB``1 GiB`)。
- `LIMIT_SIZE_CONTAINER`**-1**: Container 上传的最大大小(`-1` 表示无限制,格式为 `1000``1 MB``1 GiB`)。
- `LIMIT_SIZE_CRAN`**-1**: CRAN 上传的最大大小(`-1` 表示无限制,格式为 `1000``1 MB``1 GiB`)。
- `LIMIT_SIZE_DEBIAN`**-1**: Debian 上传的最大大小(`-1` 表示无限制,格式为 `1000``1 MB``1 GiB`)。
- `LIMIT_SIZE_GENERIC`**-1**: 通用上传的最大大小(`-1` 表示无限制,格式为 `1000``1 MB``1 GiB`)。
- `LIMIT_SIZE_GO`**-1**: Go 上传的最大大小(`-1` 表示无限制,格式为 `1000``1 MB``1 GiB`)。
- `LIMIT_SIZE_HELM`**-1**: Helm 上传的最大大小(`-1` 表示无限制,格式为 `1000``1 MB``1 GiB`)。
- `LIMIT_SIZE_MAVEN`**-1**: Maven 上传的最大大小(`-1` 表示无限制,格式为 `1000``1 MB``1 GiB`)。
- `LIMIT_SIZE_NPM`**-1**: npm 上传的最大大小(`-1` 表示无限制,格式为 `1000``1 MB``1 GiB`)。
- `LIMIT_SIZE_NUGET`**-1**: NuGet 上传的最大大小(`-1` 表示无限制,格式为 `1000``1 MB``1 GiB`)。
- `LIMIT_SIZE_PUB`**-1**: Pub 上传的最大大小(`-1` 表示无限制,格式为 `1000``1 MB``1 GiB`)。
- `LIMIT_SIZE_PYPI`**-1**: PyPI 上传的最大大小(`-1` 表示无限制,格式为 `1000``1 MB``1 GiB`)。
- `LIMIT_SIZE_RPM`**-1**: RPM 上传的最大大小(`-1` 表示无限制,格式为 `1000``1 MB``1 GiB`)。
- `LIMIT_SIZE_RUBYGEMS`**-1**: RubyGems 上传的最大大小(`-1` 表示无限制,格式为 `1000``1 MB``1 GiB`)。
- `LIMIT_SIZE_SWIFT`**-1**: Swift 上传的最大大小(`-1` 表示无限制,格式为 `1000``1 MB``1 GiB`)。
- `LIMIT_SIZE_VAGRANT`**-1**: Vagrant 上传的最大大小(`-1` 表示无限制,格式为 `1000``1 MB``1 GiB`)。
## 镜像(`mirror`
- `ENABLED`**true**启用镜像功能。设置为 **false** 以禁用所有镜像。预先存在的镜像保持有效,但不会更新;可以转换为常规仓库。
- `DISABLE_NEW_PULL`**false**禁用创建**新的**拉取镜像。预先存在的镜像保持有效。如果 `mirror.ENABLED``false`,将被忽略。
- `DISABLE_NEW_PUSH`**false**禁用创建**新的**推送镜像。预先存在的镜像保持有效。如果 `mirror.ENABLED``false`,将被忽略。
- `DEFAULT_INTERVAL`**8h**每次检查之间的默认间隔。
- `MIN_INTERVAL`**10m**检查的最小间隔。(必须大于 1 分钟)。
- `ENABLED`**true**: 启用镜像功能。设置为 **false** 以禁用所有镜像。预先存在的镜像保持有效,但不会更新;可以转换为常规仓库。
- `DISABLE_NEW_PULL`**false**: 禁用创建**新的**拉取镜像。预先存在的镜像保持有效。如果 `mirror.ENABLED``false`,将被忽略。
- `DISABLE_NEW_PUSH`**false**: 禁用创建**新的**推送镜像。预先存在的镜像保持有效。如果 `mirror.ENABLED``false`,将被忽略。
- `DEFAULT_INTERVAL`**8h**: 每次检查之间的默认间隔。
- `MIN_INTERVAL`**10m**: 检查的最小间隔。(必须大于 1 分钟)。
## LFS (`lfs`)
用于 lfs 数据的存储配置。当将 `STORAGE_TYPE` 设置为 `xxx` 时,它将从默认的 `[storage]``[storage.xxx]` 派生。
当派生时,`PATH` 的默认值是 `data/lfs``MINIO_BASE_PATH` 的默认值是 `lfs/`
- `STORAGE_TYPE`**local**lfs 的存储类型,`local` 表示本地磁盘,`minio` 表示 S3 兼容对象存储服务,或者使用 `[storage.xxx]` 中定义的其他名称。
- `SERVE_DIRECT`**false**允许存储驱动程序重定向到经过身份验证的 URL 以直接提供文件。目前,仅支持通过签名的 URL 提供 Minio/S3本地不执行任何操作。
- `PATH`**./data/lfs**存储 LFS 文件的位置,仅在 `STORAGE_TYPE``local` 时可用。如果未设置,则回退到 `[server]` 部分中已弃用的 `LFS_CONTENT_PATH` 值。
- `MINIO_ENDPOINT`**localhost:9000**连接的 Minio 终端点,仅在 `STORAGE_TYPE``minio` 时可用。
- `STORAGE_TYPE`**local**: lfs 的存储类型,`local` 表示本地磁盘,`minio` 表示 S3 兼容对象存储服务,或者使用 `[storage.xxx]` 中定义的其他名称。
- `SERVE_DIRECT`**false**: 允许存储驱动程序重定向到经过身份验证的 URL 以直接提供文件。目前,仅支持通过签名的 URL 提供 Minio/S3本地不执行任何操作。
- `PATH`**./data/lfs**: 存储 LFS 文件的位置,仅在 `STORAGE_TYPE``local` 时可用。如果未设置,则回退到 `[server]` 部分中已弃用的 `LFS_CONTENT_PATH` 值。
- `MINIO_ENDPOINT`**localhost:9000**: 连接的 Minio 终端点,仅在 `STORAGE_TYPE``minio` 时可用。
- `MINIO_ACCESS_KEY_ID`Minio 的 accessKeyID仅在 `STORAGE_TYPE``minio` 时可用。
- `MINIO_SECRET_ACCESS_KEY`Minio 的 secretAccessKey仅在 `STORAGE_TYPE``minio` 时可用。
- `MINIO_BUCKET`**gitea**用于存储 lfs 的 Minio 桶,仅在 `STORAGE_TYPE``minio` 时可用。
- `MINIO_LOCATION`**us-east-1**创建桶的 Minio 位置,仅在 `STORAGE_TYPE``minio` 时可用。
- `MINIO_BASE_PATH`**lfs/**桶上的 Minio 基本路径,仅在 `STORAGE_TYPE``minio` 时可用。
- `MINIO_USE_SSL`**false**Minio 启用 ssl仅在 `STORAGE_TYPE``minio` 时可用。
- `MINIO_INSECURE_SKIP_VERIFY`**false**Minio 跳过 SSL 验证,仅在 `STORAGE_TYPE``minio` 时可用。
- `MINIO_BUCKET`**gitea**: 用于存储 lfs 的 Minio 桶,仅在 `STORAGE_TYPE``minio` 时可用。
- `MINIO_LOCATION`**us-east-1**: 创建桶的 Minio 位置,仅在 `STORAGE_TYPE``minio` 时可用。
- `MINIO_BASE_PATH`**lfs/**: 桶上的 Minio 基本路径,仅在 `STORAGE_TYPE``minio` 时可用。
- `MINIO_USE_SSL`**false**: Minio 启用 ssl仅在 `STORAGE_TYPE``minio` 时可用。
- `MINIO_INSECURE_SKIP_VERIFY`**false**: Minio 跳过 SSL 验证,仅在 `STORAGE_TYPE``minio` 时可用。
## 存储 (`storage`)
默认的附件、lfs、头像、仓库头像、仓库归档、软件包、操作日志、artifacts 的存储配置。推荐仅仅配置此 section 并让其它的section 从此配置项继承。
- `STORAGE_TYPE`**local**存储类型,`local` 表示本地磁盘,`minio` 表示 S3 兼容的对象存储服务。
- `SERVE_DIRECT`**false**允许存储驱动程序重定向到经过身份验证的 URL 以直接提供文件。目前,仅支持通过签名的 URL 提供 Minio/S3本地不执行任何操作。
- `MINIO_ENDPOINT`**localhost:9000**连接的 Minio 终端点,仅在 `STORAGE_TYPE``minio` 时可用。
- `STORAGE_TYPE`**local**: 存储类型,`local` 表示本地磁盘,`minio` 表示 S3 兼容的对象存储服务。
- `SERVE_DIRECT`**false**: 允许存储驱动程序重定向到经过身份验证的 URL 以直接提供文件。目前,仅支持通过签名的 URL 提供 Minio/S3本地不执行任何操作。
- `MINIO_ENDPOINT`**localhost:9000**: 连接的 Minio 终端点,仅在 `STORAGE_TYPE``minio` 时可用。
- `MINIO_ACCESS_KEY_ID`Minio 的 accessKeyID仅在 `STORAGE_TYPE``minio` 时可用。
- `MINIO_SECRET_ACCESS_KEY`Minio 的 secretAccessKey仅在 `STORAGE_TYPE``minio` 时可用。
- `MINIO_BUCKET`**gitea**用于存储数据的 Minio 桶,仅在 `STORAGE_TYPE``minio` 时可用。
- `MINIO_LOCATION`**us-east-1**创建桶的 Minio 位置,仅在 `STORAGE_TYPE``minio` 时可用。
- `MINIO_USE_SSL`**false**Minio 启用 ssl仅在 `STORAGE_TYPE``minio` 时可用。
- `MINIO_INSECURE_SKIP_VERIFY`**false**Minio 跳过 SSL 验证,仅在 `STORAGE_TYPE``minio` 时可用。
- `MINIO_BUCKET`**gitea**: 用于存储数据的 Minio 桶,仅在 `STORAGE_TYPE``minio` 时可用。
- `MINIO_LOCATION`**us-east-1**: 创建桶的 Minio 位置,仅在 `STORAGE_TYPE``minio` 时可用。
- `MINIO_USE_SSL`**false**: Minio 启用 ssl仅在 `STORAGE_TYPE``minio` 时可用。
- `MINIO_INSECURE_SKIP_VERIFY`**false**: Minio 跳过 SSL 验证,仅在 `STORAGE_TYPE``minio` 时可用。
建议的 minio 存储配置如下:
@@ -1281,22 +1281,22 @@ MINIO_INSECURE_SKIP_VERIFY = false
存储库归档存储的配置。当将`STORAGE_TYPE`设置为`xxx`时,它将继承默认的 `[storage]``[storage.xxx]` 配置。`PATH`的默认值是`data/repo-archive``MINIO_BASE_PATH`的默认值是`repo-archive/`
- `STORAGE_TYPE`: **local**存储类型,`local`表示本地磁盘,`minio`表示与S3兼容的对象存储服务或者使用定义为`[storage.xxx]`的其他名称。
- `SERVE_DIRECT`: **false**允许存储驱动程序重定向到经过身份验证的URL以直接提供文件。目前只有Minio/S3支持通过签名URL本地不执行任何操作。
- `PATH`: **./data/repo-archive**用于存储归档文件的位置,仅在`STORAGE_TYPE``local`时可用。
- `MINIO_ENDPOINT`: **localhost:9000**Minio端点仅在`STORAGE_TYPE``minio`时可用。
- `STORAGE_TYPE`: **local**: 存储类型,`local`表示本地磁盘,`minio`表示与S3兼容的对象存储服务或者使用定义为`[storage.xxx]`的其他名称。
- `SERVE_DIRECT`: **false**: 允许存储驱动程序重定向到经过身份验证的URL以直接提供文件。目前只有Minio/S3支持通过签名URL本地不执行任何操作。
- `PATH`: **./data/repo-archive**: 用于存储归档文件的位置,仅在`STORAGE_TYPE``local`时可用。
- `MINIO_ENDPOINT`: **localhost:9000**: Minio端点仅在`STORAGE_TYPE``minio`时可用。
- `MINIO_ACCESS_KEY_ID`: Minio的accessKeyID仅在`STORAGE_TYPE``minio`时可用。
- `MINIO_SECRET_ACCESS_KEY`: Minio的secretAccessKey仅在`STORAGE_TYPE``minio`时可用。
- `MINIO_BUCKET`: **gitea**用于存储归档的Minio存储桶仅在`STORAGE_TYPE``minio`时可用。
- `MINIO_LOCATION`: **us-east-1**用于创建存储桶的Minio位置仅在`STORAGE_TYPE``minio`时可用。
- `MINIO_BASE_PATH`: **repo-archive/**存储桶上的Minio基本路径仅在`STORAGE_TYPE``minio`时可用。
- `MINIO_USE_SSL`: **false**启用Minio的SSL仅在`STORAGE_TYPE``minio`时可用。
- `MINIO_INSECURE_SKIP_VERIFY`: **false**跳过Minio的SSL验证仅在`STORAGE_TYPE``minio`时可用。
- `MINIO_BUCKET`: **gitea**: 用于存储归档的Minio存储桶仅在`STORAGE_TYPE``minio`时可用。
- `MINIO_LOCATION`: **us-east-1**: 用于创建存储桶的Minio位置仅在`STORAGE_TYPE``minio`时可用。
- `MINIO_BASE_PATH`: **repo-archive/**: 存储桶上的Minio基本路径仅在`STORAGE_TYPE``minio`时可用。
- `MINIO_USE_SSL`: **false**: 启用Minio的SSL仅在`STORAGE_TYPE``minio`时可用。
- `MINIO_INSECURE_SKIP_VERIFY`: **false**: 跳过Minio的SSL验证仅在`STORAGE_TYPE``minio`时可用。
### 存储库归档 (`repo-archive`)
- `STORAGE_TYPE`: **local**存储类型,用于操作日志,`local`表示本地磁盘,`minio`表示与S3兼容的对象存储服务默认为`local`,或者使用定义为`[storage.xxx]`的其他名称。
- `MINIO_BASE_PATH`: **repo-archive/**Minio存储桶上的基本路径仅在`STORAGE_TYPE``minio`时可用。
- `STORAGE_TYPE`: **local**: 存储类型,用于操作日志,`local`表示本地磁盘,`minio`表示与S3兼容的对象存储服务默认为`local`,或者使用定义为`[storage.xxx]`的其他名称。
- `MINIO_BASE_PATH`: **repo-archive/**: Minio存储桶上的基本路径仅在`STORAGE_TYPE``minio`时可用。
## 代理 (`proxy`)
@@ -1314,10 +1314,10 @@ PROXY_HOSTS = *.github.com
## Actions (`actions`)
- `ENABLED`: **true**启用/禁用操作功能
- `DEFAULT_ACTIONS_URL`: **github**获取操作插件的默认平台,`github`表示`https://github.com``self`表示当前的 Gitea 实例。
- `STORAGE_TYPE`: **local**用于操作日志的存储类型,`local`表示本地磁盘,`minio`表示与S3兼容的对象存储服务默认为`local`,或者使用定义为`[storage.xxx]`的其他名称。
- `MINIO_BASE_PATH`: **actions_log/**Minio存储桶上的基本路径仅在`STORAGE_TYPE``minio`时可用。
- `ENABLED`: **true**: 启用/禁用操作功能
- `DEFAULT_ACTIONS_URL`: **github**: 获取操作插件的默认平台,`github`表示`https://github.com``self`表示当前的 Gitea 实例。
- `STORAGE_TYPE`: **local**: 用于操作日志的存储类型,`local`表示本地磁盘,`minio`表示与S3兼容的对象存储服务默认为`local`,或者使用定义为`[storage.xxx]`的其他名称。
- `MINIO_BASE_PATH`: **actions_log/**: Minio存储桶上的基本路径仅在`STORAGE_TYPE``minio`时可用。
`DEFAULT_ACTIONS_URL` 指示 Gitea 操作运行程序应该在哪里找到带有相对路径的操作。
例如,`uses: actions/checkout@v4` 表示 `https://github.com/actions/checkout@v4`,因为 `DEFAULT_ACTIONS_URL` 的值为 `github`

View File

@@ -290,15 +290,15 @@ aliases:
静态文件位于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 监听地址。
- `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 监听端口。
- `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/**
- `UNIX_SOCKET_PERMISSION`: **666**: Unix 套接字的权限。
- `LOCAL_ROOT_URL`: **%(PROTOCOL)s://%(HTTP_ADDR)s:%(HTTP_PORT)s/**:
用于访问网络服务的 Gitea 工作器(例如 SSH 更新的本地DMZURL。
在大多数情况下,您不需要更改默认值。
仅在您的 SSH 服务器节点与 HTTP 节点不同的情况下才修改它。对于不同的协议,默认值不同。如果 `PROTOCOL`
@@ -306,63 +306,63 @@ aliases:
`%(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 协议头。
- `LOCAL_USE_PROXY_PROTOCOL`: **%(USE_PROXY_PROTOCOL)s**: 在进行本地连接时传递 PROXY 协议头。
如果本地连接将经过代理,请将其设置为 false。
- `PER_WRITE_TIMEOUT`: **30s**连接的任何写操作的超时时间。(将其设置为 -1
- `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-<algorithm> <key>` 或 `ssh-<algorithm> <key1>, ssh-<algorithm> <key2>`。有关详细信息,请参阅 `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`: **true**禁用 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`_**模板和静态文件路径的上一级。
- `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-<algorithm> <key>` 或 `ssh-<algorithm> <key1>, ssh-<algorithm> <key2>`。有关详细信息,请参阅 `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`: **true**: 禁用 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)_<username>_<temporary id>`。
- `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 身份验证密钥,将其更改为唯一的字符串。你可以通过 Gitea 子命令来生成此字符串。转到 [Command Line](administration/command-line.md#generate)。
- `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**设置首选的密码套件。
- `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)_<username>_<temporary id>`。
- `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 身份验证密钥,将其更改为唯一的字符串。你可以通过 Gitea 子命令来生成此字符串。转到 [Command Line](administration/command-line.md#generate)。
- `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 套件
@@ -395,25 +395,25 @@ aliases:
- 别名
- "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的打开来确定。索引程序可能需要更长时间启动可能具有自己的超时时间。
- `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。
- `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。
@@ -425,52 +425,52 @@ aliases:
- `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`**false**记录已执行的 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**是否自动执行数据库模型迁移。
- `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`**false**: 记录已执行的 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`_ 进行绝对路径化。
- `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_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](https://github.com/gobwas/glob))以用于**包括**在索引中。使用 `**.txt` 匹配任何具有 .txt 扩展名的文件。空列表表示包括所有文件。
- `REPO_INDEXER_EXCLUDE`**empty**逗号分隔的 glob 模式列表(参见 [https://github.com/gobwas/glob](https://github.com/gobwas/glob))以用于**排除**在索引中。即使在 `REPO_INDEXER_INCLUDE` 中匹配,也不会索引与此列表匹配的文件。
- `REPO_INDEXER_EXCLUDE_VENDORED`**true**从索引中排除 vendored 文件。
- `MAX_FILE_SIZE`**1048576**要索引的文件的最大字节数。
- `STARTUP_TIMEOUT`**30s**如果索引器启动时间超过此超时时间 - 则失败。(此超时时间将添加到上面的锤子时间中,用于子进程 - 因为 bleve 不会在上一个父进程关闭之前启动)。设置为 -1 表示永不超时。
- `REPO_INDEXER_INCLUDE`**empty**: 逗号分隔的 glob 模式列表(参见 [https://github.com/gobwas/glob](https://github.com/gobwas/glob))以用于**包括**在索引中。使用 `**.txt` 匹配任何具有 .txt 扩展名的文件。空列表表示包括所有文件。
- `REPO_INDEXER_EXCLUDE`**empty**: 逗号分隔的 glob 模式列表(参见 [https://github.com/gobwas/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`**100000**通道队列阻塞之前的最大队列大小
- `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 之间。
- `TYPE`**level**: 通用队列类型,当前支持:`level`(在内部使用 LevelDB`channel``redis``dummy`。无效的类型将视为 `level`
- `DATADIR`**queues/common**: 用于存储 level 队列的基本 DataDir。单独的队列的 `DATADIR` 可以在 `queue.name` 部分进行设置。相对路径将根据 `%(APP_DATA_PATH)s` 变为绝对路径。
- `LENGTH`**100000**: 通道队列阻塞之前的最大队列大小
- `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 创建以下非唯一队列:
@@ -490,8 +490,8 @@ Gitea 创建以下非唯一队列:
## Admin (`admin`)
- `DEFAULT_EMAIL_NOTIFICATIONS`: **enabled**用户电子邮件通知的默认配置用户可配置。选项enabled、onmention、disabled
- `DISABLE_REGULAR_ORG_CREATION`: **false**禁止普通(非管理员)用户创建组织。
- `DEFAULT_EMAIL_NOTIFICATIONS`: **enabled**: 用户电子邮件通知的默认配置用户可配置。选项enabled、onmention、disabled
- `DISABLE_REGULAR_ORG_CREATION`: **false**: 禁止普通(非管理员)用户创建组织。
- `USER_DISABLED_FEATURES`:**_empty_** 禁用的用户特性,当前允许为空或者 `deletion``manage_ssh_keys` `manage_gpg_keys` 未来可以增加更多设置。
- `deletion`: 用户不能通过界面或者API删除他自己。
- `manage_ssh_keys`: 用户不能通过界面或者API配置SSH Keys。
@@ -499,29 +499,29 @@ Gitea 创建以下非唯一队列:
## 安全性 (`security`)
- `INSTALL_LOCK`: **false**控制是否能够访问安装向导页面,设置为 `true` 则禁止访问安装向导页面。
- `SECRET_KEY`: **\<每次安装时随机生成\>**全局服务器安全密钥。这个密钥非常重要,如果丢失将无法解密加密的数据(例如 2FA
- `SECRET_KEY_URI`: **_empty_**与定义 `SECRET_KEY` 不同,此选项可用于使用存储在文件中的密钥(示例值:`file:/etc/gitea/secret_key`)。它不应该像 `SECRET_KEY` 一样容易丢失。
- `LOGIN_REMEMBER_DAYS`: **31**在要求重新登录之前,记住用户的登录状态多长时间(以天为单位)。
- `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。
- `INSTALL_LOCK`: **false**: 控制是否能够访问安装向导页面,设置为 `true` 则禁止访问安装向导页面。
- `SECRET_KEY`: **\<每次安装时随机生成\>**: 全局服务器安全密钥。这个密钥非常重要,如果丢失将无法解密加密的数据(例如 2FA
- `SECRET_KEY_URI`: **_empty_**: 与定义 `SECRET_KEY` 不同,此选项可用于使用存储在文件中的密钥(示例值:`file:/etc/gitea/secret_key`)。它不应该像 `SECRET_KEY` 一样容易丢失。
- `LOGIN_REMEMBER_DAYS`: **31**: 在要求重新登录之前,记住用户的登录状态多长时间(以天为单位)。
- `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 钩子。
- `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 将消耗大量内存。
- `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$<time>$<memory>$<threads>$<key-length>`
@@ -537,106 +537,106 @@ Gitea 创建以下非唯一队列:
- `pbkdf2_hi``pbkdf2$320000$50`
- `scrypt``scrypt$65536$16$2$50`
- 使用此功能调整算法参数存在一定风险。
- `CSRF_COOKIE_HTTP_ONLY`: **true**设置为 false 以允许 JavaScript 读取 CSRF cookie。
- `MIN_PASSWORD_LENGTH`: **6**新用户的最小密码长度。
- `PASSWORD_COMPLEXITY`: **off**要求通过最小复杂性的字符类别的逗号分隔列表。如果留空或没有指定有效值则禁用检查off
- `CSRF_COOKIE_HTTP_ONLY`: **true**: 设置为 false 以允许 JavaScript 读取 CSRF cookie。
- `MIN_PASSWORD_LENGTH`: **6**: 新用户的最小密码长度。
- `PASSWORD_COMPLEXITY`: **off**: 要求通过最小复杂性的字符类别的逗号分隔列表。如果留空或没有指定有效值则禁用检查off
- lower - 使用一个或多个小写拉丁字符
- upper - 使用一个或多个大写拉丁字符
- digit - 使用一个或多个数字
- spec - 使用一个或多个特殊字符,如 ``!"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~``
- off - 不检查密码复杂性
- `PASSWORD_CHECK_PWN`: **false**检查密码是否在 [HaveIBeenPwned](https://haveibeenpwned.com/Passwords) 中曝光。
- `SUCCESSFUL_TOKENS_CACHE_SIZE`: **20**缓存成功的令牌哈希。API 令牌在数据库中存储为 pbkdf2 哈希,但这意味着在存在多个 API 操作时可能会有显着的哈希负载。此缓存将在 LRU 缓存中存储成功的哈希令牌,以在性能和安全性之间保持平衡。
- `PASSWORD_CHECK_PWN`: **false**: 检查密码是否在 [HaveIBeenPwned](https://haveibeenpwned.com/Passwords) 中曝光。
- `SUCCESSFUL_TOKENS_CACHE_SIZE`: **20**: 缓存成功的令牌哈希。API 令牌在数据库中存储为 pbkdf2 哈希,但这意味着在存在多个 API 操作时可能会有显着的哈希负载。此缓存将在 LRU 缓存中存储成功的哈希令牌,以在性能和安全性之间保持平衡。
## Camo (`camo`)
- `ENABLED`: **false**启用媒体代理,目前仅支持图像。
- `SERVER_URL`: **_empty_**Camo服务器的URL如果启用camo则**必填**。
- `HMAC_KEY`: **_empty_**为URL编码提供HMAC密钥如果启用camo则**必填**。
- `ALWAYS`: **false**设置为true以在HTTP和HTTPS内容上使用camo否则仅代理非HTTPS URL。`ALLWAYS` 已经过期,并且会在未来版本中删除。
- `ENABLED`: **false**: 启用媒体代理,目前仅支持图像。
- `SERVER_URL`: **_empty_**: Camo服务器的URL如果启用camo则**必填**。
- `HMAC_KEY`: **_empty_**: 为URL编码提供HMAC密钥如果启用camo则**必填**。
- `ALWAYS`: **false**: 设置为true以在HTTP和HTTPS内容上使用camo否则仅代理非HTTPS URL。`ALLWAYS` 已经过期,并且会在未来版本中删除。
## OpenID (`openid`)
- `ENABLE_OPENID_SIGNIN`: **true**允许通过OpenID进行身份验证。
- `ENABLE_OPENID_SIGNUP`: **! DISABLE\_REGISTRATION**允许通过OpenID进行注册。
- `WHITELISTED_URIS`: **_empty_**如果非空是一组匹配OpenID URI的POSIX正则表达式模式用于允许访问。
- `BLACKLISTED_URIS`: **_empty_**如果非空是一组匹配OpenID URI的POSIX正则表达式模式用于阻止访问。
- `ENABLE_OPENID_SIGNIN`: **true**: 允许通过OpenID进行身份验证。
- `ENABLE_OPENID_SIGNUP`: **! DISABLE\_REGISTRATION**: 允许通过OpenID进行注册。
- `WHITELISTED_URIS`: **_empty_**: 如果非空是一组匹配OpenID URI的POSIX正则表达式模式用于允许访问。
- `BLACKLISTED_URIS`: **_empty_**: 如果非空是一组匹配OpenID URI的POSIX正则表达式模式用于阻止访问。
## OAuth2 Client (`oauth2_client`)
- `REGISTER_EMAIL_CONFIRM`: _[service]_ **REGISTER\_EMAIL\_CONFIRM**设置此项以启用或禁用OAuth2自动注册的电子邮件确认。覆盖`[service]`部分的`REGISTER\_EMAIL\_CONFIRM`设置)
- `OPENID_CONNECT_SCOPES`: **_empty_**附加的OpenID连接范围的列表。`openid`已隐式添加)
- `ENABLE_AUTO_REGISTRATION`: **false**为新的OAuth2用户自动创建用户帐户。
- `USERNAME`: **nickname**新OAuth2帐户的用户名来源
- `REGISTER_EMAIL_CONFIRM`: _[service]_ **REGISTER\_EMAIL\_CONFIRM**: 设置此项以启用或禁用OAuth2自动注册的电子邮件确认。覆盖`[service]`部分的`REGISTER\_EMAIL\_CONFIRM`设置)
- `OPENID_CONNECT_SCOPES`: **_empty_**: 附加的OpenID连接范围的列表。`openid`已隐式添加)
- `ENABLE_AUTO_REGISTRATION`: **false**: 为新的OAuth2用户自动创建用户帐户。
- `USERNAME`: **nickname**: 新OAuth2帐户的用户名来源
- userid - 使用userid / sub属性
- nickname - 使用nickname属性
- email - 使用email属性的用户名部分
- `UPDATE_AVATAR`: **false**如果OAuth2提供程序中有可用的头像则进行头像更新。更新将在每次登录时执行。
- `ACCOUNT_LINKING`: **login**如果帐户/电子邮件已存在,如何处理:
- `UPDATE_AVATAR`: **false**: 如果OAuth2提供程序中有可用的头像则进行头像更新。更新将在每次登录时执行。
- `ACCOUNT_LINKING`: **login**: 如果帐户/电子邮件已存在,如何处理:
- disabled - 显示错误
- login - 显示帐户链接登录
- auto - 自动与帐户链接(请注意,这将因为提供相同的用户名或电子邮件而自动授予现有帐户的访问权限。您必须确保这不会导致身份验证提供程序出现问题。)
## Service (`service`)
- `ACTIVE_CODE_LIVE_MINUTES`: **180**确认帐户/电子邮件注册的时间限制(分钟)。
- `RESET_PASSWD_CODE_LIVE_MINUTES`: **180**确认忘记密码重置流程的时间限制(分钟)。
- `REGISTER_EMAIL_CONFIRM`: **false**启用此项以要求通过邮件确认注册。需要启用`Mailer`
- `REGISTER_MANUAL_CONFIRM`: **false**启用此项以手动确认新的注册。需要禁用`REGISTER_EMAIL_CONFIRM`
- `DISABLE_REGISTRATION`: **false**禁用注册,之后只有管理员可以为用户创建帐户。
- `REQUIRE_EXTERNAL_REGISTRATION_PASSWORD`: **false**启用此项以强制通过外部方式创建的帐户通过GitHub、OpenID Connect等创建密码。警告启用此项将降低安全性因此只有在您知道自己在做什么时才应启用它。
- `REQUIRE_SIGNIN_VIEW`: **false**启用此项以强制用户登录以查看任何页面或使用API。
- `ENABLE_NOTIFY_MAIL`: **false**启用此项以在发生某些情况(如创建问题)时向存储库的观察者发送电子邮件。需要启用`Mailer`
- `ENABLE_BASIC_AUTHENTICATION`: **true**禁用此项以禁止使用HTTP BASIC和用户的密码进行身份验证。请注意如果禁用此项您将无法使用密码访问令牌API端点。此外这仅会禁用使用密码的BASIC身份验证而不会禁用令牌或OAuth Basic。
- `ENABLE_REVERSE_PROXY_AUTHENTICATION`: **false**启用此项以允许反向代理身份验证。
- `ENABLE_REVERSE_PROXY_AUTO_REGISTRATION`: **false**启用此项以允许反向身份验证的自动注册。
- `ENABLE_REVERSE_PROXY_EMAIL`: **false**启用此项以允许使用提供的电子邮件而不是生成的电子邮件进行自动注册。
- `ENABLE_REVERSE_PROXY_FULL_NAME`: **false**启用此项以允许使用提供的全名进行自动注册。
- `ENABLE_CAPTCHA`: **false**启用此项以对注册使用验证码验证。
- `REQUIRE_CAPTCHA_FOR_LOGIN`: **false**启用此项以要求登录使用验证码验证。您还必须启用`ENABLE_CAPTCHA`
- `REQUIRE_EXTERNAL_REGISTRATION_CAPTCHA`: **false**启用此项以强制对外部帐户即GitHub、OpenID Connect等使用验证码验证。您还必须启用`ENABLE_CAPTCHA`
- `CAPTCHA_TYPE`: **image**\[image、recaptcha、hcaptcha、mcaptcha、cfturnstile\]
- `RECAPTCHA_SECRET`: **""**访问https://www.google.com/recaptcha/admin以获取recaptcha的密钥。
- `RECAPTCHA_SITEKEY`: **""**访问https://www.google.com/recaptcha/admin以获取recaptcha的站点密钥。
- `RECAPTCHA_URL`: **https://www.google.com/recaptcha/**设置recaptcha网址允许使用recaptcha net。
- `HCAPTCHA_SECRET`: **""**注册https://www.hcaptcha.com/以获取hcaptcha的密钥。
- `HCAPTCHA_SITEKEY`: **""**注册https://www.hcaptcha.com/以获取hcaptcha的站点密钥。
- `MCAPTCHA_SECRET`: **""**访问您的mCaptcha实例以获取mCaptcha的密钥。
- `MCAPTCHA_SITEKEY`: **""**访问您的mCaptcha实例以获取mCaptcha的站点密钥。
- `MCAPTCHA_URL` **https://demo.mcaptcha.org/**设置mCaptcha的URL。
- `CF_TURNSTILE_SECRET` **""**访问https://dash.cloudflare.com/?to=/:account/turnstile以获取cloudflare turnstile的密钥。
- `CF_TURNSTILE_SITEKEY` **""**访问https://dash.cloudflare.com/?to=/:account/turnstile以获取cloudflare turnstile的站点密钥。
- `DEFAULT_KEEP_EMAIL_PRIVATE`: **false**默认情况下,将用户设置为保持其电子邮件地址私有。
- `DEFAULT_ALLOW_CREATE_ORGANIZATION`: **true**默认情况下,允许新用户创建组织。
- `DEFAULT_USER_IS_RESTRICTED`: **false**默认情况下,为新用户分配受限权限。
- `DEFAULT_ENABLE_DEPENDENCIES`: **true**启用此项以默认启用依赖项。
- `ACTIVE_CODE_LIVE_MINUTES`: **180**: 确认帐户/电子邮件注册的时间限制(分钟)。
- `RESET_PASSWD_CODE_LIVE_MINUTES`: **180**: 确认忘记密码重置流程的时间限制(分钟)。
- `REGISTER_EMAIL_CONFIRM`: **false**: 启用此项以要求通过邮件确认注册。需要启用`Mailer`
- `REGISTER_MANUAL_CONFIRM`: **false**: 启用此项以手动确认新的注册。需要禁用`REGISTER_EMAIL_CONFIRM`
- `DISABLE_REGISTRATION`: **false**: 禁用注册,之后只有管理员可以为用户创建帐户。
- `REQUIRE_EXTERNAL_REGISTRATION_PASSWORD`: **false**: 启用此项以强制通过外部方式创建的帐户通过GitHub、OpenID Connect等创建密码。警告启用此项将降低安全性因此只有在您知道自己在做什么时才应启用它。
- `REQUIRE_SIGNIN_VIEW`: **false**: 启用此项以强制用户登录以查看任何页面或使用API。
- `ENABLE_NOTIFY_MAIL`: **false**: 启用此项以在发生某些情况(如创建问题)时向存储库的观察者发送电子邮件。需要启用`Mailer`
- `ENABLE_BASIC_AUTHENTICATION`: **true**: 禁用此项以禁止使用HTTP BASIC和用户的密码进行身份验证。请注意如果禁用此项您将无法使用密码访问令牌API端点。此外这仅会禁用使用密码的BASIC身份验证而不会禁用令牌或OAuth Basic。
- `ENABLE_REVERSE_PROXY_AUTHENTICATION`: **false**: 启用此项以允许反向代理身份验证。
- `ENABLE_REVERSE_PROXY_AUTO_REGISTRATION`: **false**: 启用此项以允许反向身份验证的自动注册。
- `ENABLE_REVERSE_PROXY_EMAIL`: **false**: 启用此项以允许使用提供的电子邮件而不是生成的电子邮件进行自动注册。
- `ENABLE_REVERSE_PROXY_FULL_NAME`: **false**: 启用此项以允许使用提供的全名进行自动注册。
- `ENABLE_CAPTCHA`: **false**: 启用此项以对注册使用验证码验证。
- `REQUIRE_CAPTCHA_FOR_LOGIN`: **false**: 启用此项以要求登录使用验证码验证。您还必须启用`ENABLE_CAPTCHA`
- `REQUIRE_EXTERNAL_REGISTRATION_CAPTCHA`: **false**: 启用此项以强制对外部帐户即GitHub、OpenID Connect等使用验证码验证。您还必须启用`ENABLE_CAPTCHA`
- `CAPTCHA_TYPE`: **image**: \[image、recaptcha、hcaptcha、mcaptcha、cfturnstile\]
- `RECAPTCHA_SECRET`: **""**: 访问 https://www.google.com/recaptcha/admin 以获取recaptcha的密钥。
- `RECAPTCHA_SITEKEY`: **""**: 访问 https://www.google.com/recaptcha/admin 以获取recaptcha的站点密钥。
- `RECAPTCHA_URL`: **https://www.google.com/recaptcha/**: 设置recaptcha网址允许使用recaptcha net。
- `HCAPTCHA_SECRET`: **""**: 注册 https://www.hcaptcha.com/ 以获取hcaptcha的密钥。
- `HCAPTCHA_SITEKEY`: **""**: 注册 https://www.hcaptcha.com/ 以获取hcaptcha的站点密钥。
- `MCAPTCHA_SECRET`: **""**: 访问您的mCaptcha实例以获取mCaptcha的密钥。
- `MCAPTCHA_SITEKEY`: **""**: 访问您的mCaptcha实例以获取mCaptcha的站点密钥。
- `MCAPTCHA_URL` **https://demo.mcaptcha.org/**: 设置mCaptcha的URL。
- `CF_TURNSTILE_SECRET` **""**: 访问 https://dash.cloudflare.com/?to=/:account/turnstile 以获取cloudflare turnstile的密钥。
- `CF_TURNSTILE_SITEKEY` **""**: 访问 https://dash.cloudflare.com/?to=/:account/turnstile 以获取cloudflare turnstile的站点密钥。
- `DEFAULT_KEEP_EMAIL_PRIVATE`: **false**: 默认情况下,将用户设置为保持其电子邮件地址私有。
- `DEFAULT_ALLOW_CREATE_ORGANIZATION`: **true**: 默认情况下,允许新用户创建组织。
- `DEFAULT_USER_IS_RESTRICTED`: **false**: 默认情况下,为新用户分配受限权限。
- `DEFAULT_ENABLE_DEPENDENCIES`: **true**: 启用此项以默认启用依赖项。
- `ALLOW_CROSS_REPOSITORY_DEPENDENCIES` : **true** 启用此项以允许从用户被授予访问权限的任何存储库上进行依赖项操作。
- `USER_LOCATION_MAP_URL`: **""**一个显示用户在地图上位置的地图服务URL。位置将作为转义的查询参数附加到URL中。
- `ENABLE_USER_HEATMAP`: **true**启用此项以在用户个人资料上显示热图。
- `ENABLE_TIMETRACKING`: **true**启用时间跟踪功能。
- `DEFAULT_ENABLE_TIMETRACKING`: **true**默认情况下,允许存储库默认使用时间跟踪。
- `DEFAULT_ALLOW_ONLY_CONTRIBUTORS_TO_TRACK_TIME`: **true**仅允许具有写权限的用户跟踪时间。
- `EMAIL_DOMAIN_ALLOWLIST`: **_empty_**如果非空,逗号分隔的域名列表,只能用于在此实例上注册,支持通配符。
- `EMAIL_DOMAIN_BLOCKLIST`: **_empty_**如果非空,逗号分隔的域名列表,不能用于在此实例上注册,支持通配符。
- `SHOW_REGISTRATION_BUTTON`: **! DISABLE\_REGISTRATION**显示注册按钮
- `USER_LOCATION_MAP_URL`: **""**: 一个显示用户在地图上位置的地图服务URL。位置将作为转义的查询参数附加到URL中。
- `ENABLE_USER_HEATMAP`: **true**: 启用此项以在用户个人资料上显示热图。
- `ENABLE_TIMETRACKING`: **true**: 启用时间跟踪功能。
- `DEFAULT_ENABLE_TIMETRACKING`: **true**: 默认情况下,允许存储库默认使用时间跟踪。
- `DEFAULT_ALLOW_ONLY_CONTRIBUTORS_TO_TRACK_TIME`: **true**: 仅允许具有写权限的用户跟踪时间。
- `EMAIL_DOMAIN_ALLOWLIST`: **_empty_**: 如果非空,逗号分隔的域名列表,只能用于在此实例上注册,支持通配符。
- `EMAIL_DOMAIN_BLOCKLIST`: **_empty_**: 如果非空,逗号分隔的域名列表,不能用于在此实例上注册,支持通配符。
- `SHOW_REGISTRATION_BUTTON`: **! DISABLE\_REGISTRATION**: 显示注册按钮
- `SHOW_MILESTONES_DASHBOARD_PAGE`: **true** 启用此项以显示里程碑仪表板页面 - 查看所有用户的里程碑
- `AUTO_WATCH_NEW_REPOS`: **true** 启用此项以在创建新存储库时让所有组织用户观看新存储库
- `AUTO_WATCH_ON_CHANGES`: **false** 启用此项以在首次提交后使用户观看存储库
- `DEFAULT_USER_VISIBILITY`: **public**为用户设置默认的可见性模式,可以是"public"、"limited"或"private"。
- `ALLOWED_USER_VISIBILITY_MODES`: **public,limited,private**设置用户可以具有的可见性模式
- `DEFAULT_ORG_VISIBILITY`: **public**为组织设置默认的可见性模式,可以是"public"、"limited"或"private"。
- `DEFAULT_ORG_MEMBER_VISIBLE`: **false**如果添加到组织时将用户的成员身份可见设置为True。
- `ALLOW_ONLY_INTERNAL_REGISTRATION`: **false**设置为True以强制仅通过Gitea进行注册。
- `ALLOW_ONLY_EXTERNAL_REGISTRATION`: **false**设置为True以强制仅使用第三方服务进行注册。
- `NO_REPLY_ADDRESS`: **noreply.DOMAIN**如果用户将KeepEmailPrivate设置为True则在Git日志中的用户电子邮件地址的域部分的值。DOMAIN解析为server.DOMAIN中的值。
- `DEFAULT_USER_VISIBILITY`: **public**: 为用户设置默认的可见性模式,可以是"public"、"limited"或"private"。
- `ALLOWED_USER_VISIBILITY_MODES`: **public,limited,private**: 设置用户可以具有的可见性模式
- `DEFAULT_ORG_VISIBILITY`: **public**: 为组织设置默认的可见性模式,可以是"public"、"limited"或"private"。
- `DEFAULT_ORG_MEMBER_VISIBLE`: **false**: 如果添加到组织时将用户的成员身份可见设置为True。
- `ALLOW_ONLY_INTERNAL_REGISTRATION`: **false**: 设置为True以强制仅通过Gitea进行注册。
- `ALLOW_ONLY_EXTERNAL_REGISTRATION`: **false**: 设置为True以强制仅使用第三方服务进行注册。
- `NO_REPLY_ADDRESS`: **noreply.DOMAIN**: 如果用户将KeepEmailPrivate设置为True则在Git日志中的用户电子邮件地址的域部分的值。DOMAIN解析为server.DOMAIN中的值。
用户的电子邮件将被替换为小写的用户名、"@"和NO_REPLY_ADDRESS的连接。
- `USER_DELETE_WITH_COMMENTS_MAX_TIME`: **0**用户删除后,评论将保留的最短时间。
- `VALID_SITE_URL_SCHEMES`: **http, https**用户个人资料的有效站点URL方案
- `USER_DELETE_WITH_COMMENTS_MAX_TIME`: **0**: 用户删除后,评论将保留的最短时间。
- `VALID_SITE_URL_SCHEMES`: **http, https**: 用户个人资料的有效站点URL方案
### Service - Explore (`service.explore`)
- `REQUIRE_SIGNIN_VIEW`: **false**仅允许已登录的用户查看探索页面。
- `DISABLE_USERS_PAGE`: **false**禁用用户探索页面。
- `REQUIRE_SIGNIN_VIEW`: **false**: 仅允许已登录的用户查看探索页面。
- `DISABLE_USERS_PAGE`: **false**: 禁用用户探索页面。
- `DISABLE_ORGANIZATIONS_PAGE`: **false**: 禁用组织探索页面。
- `DISABLE_CODE_PAGE`: **false**: 禁用代码探索页面。
@@ -646,14 +646,14 @@ Gitea 创建以下非唯一队列:
- `ED25519`**256**
- `ECDSA`**256**
- `RSA`**3071**我们在这里设置为2047因为一个其他方面有效的3072 RSA密钥可能被报告为3071长度。
- `DSA`**-1**默认情况下禁用DSA。设置为**1024**以重新启用但请注意可能需要重新配置您的SSHD提供者
- `RSA`**3071**: 我们在这里设置为2047因为一个其他方面有效的3072 RSA密钥可能被报告为3071长度。
- `DSA`**-1**: 默认情况下禁用DSA。设置为**1024**以重新启用但请注意可能需要重新配置您的SSHD提供者
## Webhook (`webhook`)
- `QUEUE_LENGTH`: **1000**钩子任务队列长度。编辑此值时要小心。
- `DELIVER_TIMEOUT`: **5**发送 Webhook 的交付超时时间(秒)。
- `ALLOWED_HOST_LIST`: **external**出于安全原因Webhook 仅能调用允许的主机。以逗号分隔的列表。
- `QUEUE_LENGTH`: **1000**: 钩子任务队列长度。编辑此值时要小心。
- `DELIVER_TIMEOUT`: **5**: 发送 Webhook 的交付超时时间(秒)。
- `ALLOWED_HOST_LIST`: **external**: 出于安全原因Webhook 仅能调用允许的主机。以逗号分隔的列表。
- 内置网络:
- `loopback`IPv4 的 127.0.0.0/8 和 IPv6 的 ::1/128包括 localhost。
- `private`RFC 191810.0.0.0/8172.16.0.0/12192.168.0.0/16和 RFC 4193FC00::/7。也称为 LAN/Intranet。
@@ -661,10 +661,10 @@ Gitea 创建以下非唯一队列:
- `*`:允许所有主机。
- CIDR 列表IPv4 的 `1.2.3.0/8` 和 IPv6 的 `2001:db8::/32`
- 通配符主机:`*.mydomain.com``192.168.100.*`
- `SKIP_TLS_VERIFY`: **false**允许不安全的证书。
- `PAGING_NUM`: **10**一页中显示的 Webhook 历史事件数量。
- `PROXY_URL`: **_empty_**代理服务器 URL支持 http://、https://、socks://,留空将遵循环境的 http_proxy/https_proxy 设置。如果未提供,将使用全局代理设置。
- `PROXY_HOSTS`: **_empty_**需要代理的主机名的逗号分隔列表。支持通配符模式 (*);使用 ** 来匹配所有主机。如果未提供,将使用全局代理设置。
- `SKIP_TLS_VERIFY`: **false**: 允许不安全的证书。
- `PAGING_NUM`: **10**: 一页中显示的 Webhook 历史事件数量。
- `PROXY_URL`: **_empty_**: 代理服务器 URL支持 http://、https://、socks://,留空将遵循环境的 http_proxy/https_proxy 设置。如果未提供,将使用全局代理设置。
- `PROXY_HOSTS`: **_empty_**: 需要代理的主机名的逗号分隔列表。支持通配符模式 (*);使用 ** 来匹配所有主机。如果未提供,将使用全局代理设置。
## 邮件 (`mailer`)
@@ -673,50 +673,50 @@ Gitea 创建以下非唯一队列:
[Gitea 1.17 配置文档](https://github.com/go-gitea/gitea/blob/release/v1.17/docs/content/doc/advanced/config-cheat-sheet.en-us.md)
- `ENABLED`: **false**是否启用邮件服务。
- `PROTOCOL`: **_empty_**邮件服务协议,可选择 "smtp"、"smtps"、"smtp+starttls"、"smtp+unix"、"sendmail"、"dummy"。在 Gitea 1.18 之前,邮件服务协议由 `MAILER_TYPE``IS_TLS_ENABLED` 两个配置共同决定。
- `ENABLED`: **false**: 是否启用邮件服务。
- `PROTOCOL`: **_empty_**: 邮件服务协议,可选择 "smtp"、"smtps"、"smtp+starttls"、"smtp+unix"、"sendmail"、"dummy"。在 Gitea 1.18 之前,邮件服务协议由 `MAILER_TYPE``IS_TLS_ENABLED` 两个配置共同决定。
- SMTP 类族,如果您的提供者没有明确说明使用的是哪个协议,但提供了一个端口,您可以设置 SMTP_PORT它将被推断出来。
- **sendmail** 使用操作系统的 `sendmail` 命令,而不是 SMTP。这在 Linux 系统上很常见。
- **dummy** 将邮件消息发送到日志,作为测试阶段。
- 请注意,启用 sendmail 将忽略所有其他 `mailer` 设置,除了 `ENABLED``FROM``SUBJECT_PREFIX``SENDMAIL_PATH`
- 启用 dummy 将忽略所有设置,除了 `ENABLED``SUBJECT_PREFIX``FROM`
- `SMTP_ADDR`: **_empty_**邮件服务器地址,例如 smtp.gmail.com。对于 smtp+unix这应该是一个到 unix socket 的路径。在 1.18 之前,此设置与 `SMTP_PORT` 合并,名称为 `HOST`
- `SMTP_PORT`: **_empty_**邮件服务器端口。如果未指定协议,将通过此设置进行推断。常用端口如下。在 1.18 之前,此设置与 `SMTP_ADDR` 合并,名称为 `HOST`
- `SMTP_ADDR`: **_empty_**: 邮件服务器地址,例如 smtp.gmail.com。对于 smtp+unix这应该是一个到 unix socket 的路径。在 1.18 之前,此设置与 `SMTP_PORT` 合并,名称为 `HOST`
- `SMTP_PORT`: **_empty_**: 邮件服务器端口。如果未指定协议,将通过此设置进行推断。常用端口如下。在 1.18 之前,此设置与 `SMTP_ADDR` 合并,名称为 `HOST`
- 25不安全的简单邮件传输协议insecure SMTP
- 465安全的简单邮件传输协议SMTP Secure
- 587StartTLS
- `USE_CLIENT_CERT`: **false**使用客户端证书进行 TLS/SSL 加密。
- `CLIENT_CERT_FILE`: **custom/mailer/cert.pem**客户端证书文件。
- `CLIENT_KEY_FILE`: **custom/mailer/key.pem**客户端密钥文件。
- `FORCE_TRUST_SERVER_CERT`: **false**如果设置为 `true`,将完全忽略服务器证书验证错误。此选项不安全。考虑将证书添加到系统信任存储中。
- `USER`: **_empty_**邮件用户的用户名(通常是发件人的电子邮件地址)。
- `PASSWD`: **_empty_**邮件用户的密码。如果密码中使用了特殊字符,请使用 \`your password\` 进行引用。
- `USE_CLIENT_CERT`: **false**: 使用客户端证书进行 TLS/SSL 加密。
- `CLIENT_CERT_FILE`: **custom/mailer/cert.pem**: 客户端证书文件。
- `CLIENT_KEY_FILE`: **custom/mailer/key.pem**: 客户端密钥文件。
- `FORCE_TRUST_SERVER_CERT`: **false**: 如果设置为 `true`,将完全忽略服务器证书验证错误。此选项不安全。考虑将证书添加到系统信任存储中。
- `USER`: **_empty_**: 邮件用户的用户名(通常是发件人的电子邮件地址)。
- `PASSWD`: **_empty_**: 邮件用户的密码。如果密码中使用了特殊字符,请使用 \`your password\` 进行引用。
- 请注意:只有在 SMTP 服务器通信通过 TLS 加密(可以通过 `STARTTLS` 实现)或 SMTP 主机是 localhost 时,才支持身份验证。有关更多信息,请参阅 [邮件设置](../administration/email-setup.md)。
- `ENABLE_HELO`: **true**启用 HELO 操作。
- `HELO_HOSTNAME`: **(从系统检索)**HELO 主机名。
- `FROM`: **_empty_**邮件的发件人地址,符合 RFC 5322。这可以是一个电子邮件地址也可以是 "Name" \<email@example.com\> 格式。
- `ENVELOPE_FROM`: **_empty_**在 SMTP 邮件信封上设置的地址作为发件地址。设置为 `<>` 以发送一个空地址。
- `SUBJECT_PREFIX`: **_empty_**放置在电子邮件主题行之前的前缀。
- `SENDMAIL_PATH`: **sendmail**操作系统上 `sendmail` 的位置(可以是命令或完整路径)。
- `SENDMAIL_ARGS`: **_empty_**指定任何额外的 sendmail 参数。(注意:您应该知道电子邮件地址可能看起来像选项 - 如果您的 `sendmail` 命令带有选项,您必须设置选项终止符 `--`
- `SENDMAIL_TIMEOUT`: **5m**通过 sendmail 发送电子邮件的默认超时时间。
- `SENDMAIL_CONVERT_CRLF`: **true**大多数版本的 sendmail 偏好使用 LF 换行符,而不是 CRLF 换行符。如果您的 sendmail 版本需要 CRLF 换行符,请将此设置为 false。
- `SEND_BUFFER_LEN`: **100**邮件队列的缓冲区长度。**已弃用**,请在 `[queue.mailer]` 中使用 `LENGTH`
- `SEND_AS_PLAIN_TEXT`: **false**仅以纯文本形式发送邮件,不包括 HTML 备选方案。
- `ENABLE_HELO`: **true**: 启用 HELO 操作。
- `HELO_HOSTNAME`: **(从系统检索)**: HELO 主机名。
- `FROM`: **_empty_**: 邮件的发件人地址,符合 RFC 5322。这可以是一个电子邮件地址也可以是 "Name" \<email@example.com\> 格式。
- `ENVELOPE_FROM`: **_empty_**: 在 SMTP 邮件信封上设置的地址作为发件地址。设置为 `<>` 以发送一个空地址。
- `SUBJECT_PREFIX`: **_empty_**: 放置在电子邮件主题行之前的前缀。
- `SENDMAIL_PATH`: **sendmail**: 操作系统上 `sendmail` 的位置(可以是命令或完整路径)。
- `SENDMAIL_ARGS`: **_empty_**: 指定任何额外的 sendmail 参数。(注意:您应该知道电子邮件地址可能看起来像选项 - 如果您的 `sendmail` 命令带有选项,您必须设置选项终止符 `--`
- `SENDMAIL_TIMEOUT`: **5m**: 通过 sendmail 发送电子邮件的默认超时时间。
- `SENDMAIL_CONVERT_CRLF`: **true**: 大多数版本的 sendmail 偏好使用 LF 换行符,而不是 CRLF 换行符。如果您的 sendmail 版本需要 CRLF 换行符,请将此设置为 false。
- `SEND_BUFFER_LEN`: **100**: 邮件队列的缓冲区长度。**已弃用**,请在 `[queue.mailer]` 中使用 `LENGTH`
- `SEND_AS_PLAIN_TEXT`: **false**: 仅以纯文本形式发送邮件,不包括 HTML 备选方案。
## 入站邮件 (`email.incoming`)
- `ENABLED`: **false**启用处理入站邮件。
- `REPLY_TO_ADDRESS`: **_empty_**包括 `%{token}` 占位符的电子邮件地址,该占位符将根据用户/操作进行替换。示例:`incoming+%{token}@example.com`。占位符必须出现在地址的用户部分(在 `@` 之前)。
- `HOST`: **_empty_**IMAP 服务器主机。
- `PORT`: **_empty_**IMAP 服务器端口。
- `USERNAME`: **_empty_**接收帐户的用户名。
- `PASSWORD`: **_empty_**接收帐户的密码。
- `USE_TLS`: **false**IMAP 服务器是否使用 TLS。
- `SKIP_TLS_VERIFY`: **false**如果设置为 `true`,将完全忽略服务器证书验证错误。此选项不安全。
- `MAILBOX`: **INBOX**入站邮件将到达的邮箱名称。
- `DELETE_HANDLED_MESSAGE`: **true**是否应从邮箱中删除已处理的消息。
- `MAXIMUM_MESSAGE_SIZE`: **10485760**要处理的消息的最大大小。忽略更大的消息。将其设置为 0 以允许每种大小。
- `ENABLED`: **false**: 启用处理入站邮件。
- `REPLY_TO_ADDRESS`: **_empty_**: 包括 `%{token}` 占位符的电子邮件地址,该占位符将根据用户/操作进行替换。示例:`incoming+%{token}@example.com`。占位符必须出现在地址的用户部分(在 `@` 之前)。
- `HOST`: **_empty_**: IMAP 服务器主机。
- `PORT`: **_empty_**: IMAP 服务器端口。
- `USERNAME`: **_empty_**: 接收帐户的用户名。
- `PASSWORD`: **_empty_**: 接收帐户的密码。
- `USE_TLS`: **false**: IMAP 服务器是否使用 TLS。
- `SKIP_TLS_VERIFY`: **false**: 如果设置为 `true`,将完全忽略服务器证书验证错误。此选项不安全。
- `MAILBOX`: **INBOX**: 入站邮件将到达的邮箱名称。
- `DELETE_HANDLED_MESSAGE`: **true**: 是否应从邮箱中删除已处理的消息。
- `MAXIMUM_MESSAGE_SIZE`: **10485760**: 要处理的消息的最大大小。忽略更大的消息。将其设置为 0 以允许每种大小。
## 缓存 (`cache`)
@@ -731,43 +731,43 @@ Gitea 创建以下非唯一队列:
### 缓存 - 最后提交缓存设置 (`cache.last_commit`)
- `ITEM_TTL`: **8760h**如果未使用,保持缓存中的项目的时间,将其设置为 -1 会禁用缓存。
- `COMMITS_COUNT`: **1000**仅在存储库的提交计数大于时启用缓存。
- `ITEM_TTL`: **8760h**: 如果未使用,保持缓存中的项目的时间,将其设置为 -1 会禁用缓存。
- `COMMITS_COUNT`: **1000**: 仅在存储库的提交计数大于时启用缓存。
## 会话 (`session`)
- `PROVIDER`: **memory**会话存储引擎 \[memory, file, redis, redis-cluster, db, mysql, couchbase, memcache, postgres\]。设置为 `db` 将会重用 `[database]` 的配置信息。
- `PROVIDER_CONFIG`: **data/sessions**对于文件,为根路径;对于 db为空将使用数据库配置对于其他引擎为连接字符串。相对路径将根据 _`AppWorkPath`_ 绝对化。
- `COOKIE_SECURE`: **_empty_**`true``false`。启用此选项以强制在所有会话访问中使用 HTTPS。如果没有设置当 ROOT_URL 是 https 链接的时候默认设置为 true。
- `COOKIE_NAME`: **i\_like\_gitea**用于会话 ID 的 cookie 名称。
- `GC_INTERVAL_TIME`: **86400**GC 间隔时间,以秒为单位。
- `SESSION_LIFE_TIME`: **86400**会话生命周期,以秒为单位,默认为 864001 天)。
- `DOMAIN`: **_empty_**设置 cookie 的域。
- `PROVIDER`: **memory**: 会话存储引擎 \[memory, file, redis, redis-cluster, db, mysql, couchbase, memcache, postgres\]。设置为 `db` 将会重用 `[database]` 的配置信息。
- `PROVIDER_CONFIG`: **data/sessions**: 对于文件,为根路径;对于 db为空将使用数据库配置对于其他引擎为连接字符串。相对路径将根据 _`AppWorkPath`_ 绝对化。
- `COOKIE_SECURE`: **_empty_**: `true``false`。启用此选项以强制在所有会话访问中使用 HTTPS。如果没有设置当 ROOT_URL 是 https 链接的时候默认设置为 true。
- `COOKIE_NAME`: **i\_like\_gitea**: 用于会话 ID 的 cookie 名称。
- `GC_INTERVAL_TIME`: **86400**: GC 间隔时间,以秒为单位。
- `SESSION_LIFE_TIME`: **86400**: 会话生命周期,以秒为单位,默认为 864001 天)。
- `DOMAIN`: **_empty_**: 设置 cookie 的域。
- `SAME_SITE`: **lax** \[strict, lax, none\]:为 cookie 设置 SameSite 属性。
## 图像 (`picture`)
- `GRAVATAR_SOURCE`: **gravatar**头像来源,可以是 gravatar、duoshuo 或类似 http://cn.gravatar.com/avatar/ 的来源。
- `GRAVATAR_SOURCE`: **gravatar**: 头像来源,可以是 gravatar、duoshuo 或类似 http://cn.gravatar.com/avatar/ 的来源。
`http://cn.gravatar.com/avatar/`
- `DISABLE_GRAVATAR`: **false**启用后,只使用内部头像。**已弃用 [v1.18+]** 该配置已迁移到数据库中保存,通过管理员面板进行配置。
- `ENABLE_FEDERATED_AVATAR`: **false**启用头像联盟支持(参见
- `DISABLE_GRAVATAR`: **false**: 启用后,只使用内部头像。**已弃用 [v1.18+]** 该配置已迁移到数据库中保存,通过管理员面板进行配置。
- `ENABLE_FEDERATED_AVATAR`: **false**: 启用头像联盟支持(参见
[http://www.libravatar.org](http://www.libravatar.org))。**已弃用 [v1.18+]** 该配置已迁移到数据库中保存,通过管理员面板进行配置。
- `AVATAR_STORAGE_TYPE`: **default**`[storage.xxx]` 中定义的存储类型。默认为 `default`,如果没有 `[storage]` 部分,则将读取 `[storage]`,如果没有则将是 `local` 类型。
- `AVATAR_UPLOAD_PATH`: **data/avatars**存储用户头像图像文件的路径。
- `AVATAR_MAX_WIDTH`: **4096**头像的最大宽度,以像素为单位。
- `AVATAR_MAX_HEIGHT`: **4096**头像的最大高度,以像素为单位。
- `AVATAR_STORAGE_TYPE`: **default**: `[storage.xxx]` 中定义的存储类型。默认为 `default`,如果没有 `[storage]` 部分,则将读取 `[storage]`,如果没有则将是 `local` 类型。
- `AVATAR_UPLOAD_PATH`: **data/avatars**: 存储用户头像图像文件的路径。
- `AVATAR_MAX_WIDTH`: **4096**: 头像的最大宽度,以像素为单位。
- `AVATAR_MAX_HEIGHT`: **4096**: 头像的最大高度,以像素为单位。
- `AVATAR_MAX_FILE_SIZE`: **1048576**1MiB头像的最大大小。
- `AVATAR_MAX_ORIGIN_SIZE`: **262144**256KiB如果上传的文件不大于此字节大小则图像将原样使用无需调整大小/转换。
- `AVATAR_RENDERED_SIZE_FACTOR`: **2**渲染的头像图像的乘法因子。较大的值在 HiDPI 设备上会产生更细腻的渲染。
- `AVATAR_RENDERED_SIZE_FACTOR`: **2**: 渲染的头像图像的乘法因子。较大的值在 HiDPI 设备上会产生更细腻的渲染。
- `REPOSITORY_AVATAR_STORAGE_TYPE`: **default**`[storage.xxx]` 中定义的存储类型。默认为 `default`,如果没有 `[storage]` 部分,则将读取 `[storage]`,如果没有则将是 `local` 类型。
- `REPOSITORY_AVATAR_UPLOAD_PATH`: **data/repo-avatars**存储仓库头像图像文件的路径。
- `REPOSITORY_AVATAR_FALLBACK`: **none**Gitea 处理缺少仓库头像的方式
- `REPOSITORY_AVATAR_STORAGE_TYPE`: **default**: `[storage.xxx]` 中定义的存储类型。默认为 `default`,如果没有 `[storage]` 部分,则将读取 `[storage]`,如果没有则将是 `local` 类型。
- `REPOSITORY_AVATAR_UPLOAD_PATH`: **data/repo-avatars**: 存储仓库头像图像文件的路径。
- `REPOSITORY_AVATAR_FALLBACK`: **none**: Gitea 处理缺少仓库头像的方式
- none = 不显示任何头像
- random = 生成随机头像
- image = 使用默认图像(在 `REPOSITORY_AVATAR_FALLBACK_IMAGE` 中设置),如果设置为 image 并且未上传任何图像。
- `REPOSITORY_AVATAR_FALLBACK_IMAGE`: **/img/repo_default.png**作为默认仓库头像的图像(如果将 `REPOSITORY_AVATAR_FALLBACK` 设置为 image 并且没有上传图像)。
- `REPOSITORY_AVATAR_FALLBACK_IMAGE`: **/img/repo_default.png**: 作为默认仓库头像的图像(如果将 `REPOSITORY_AVATAR_FALLBACK` 设置为 image 并且没有上传图像)。
## 项目 (`project`)
@@ -1045,23 +1045,23 @@ Gitea 创建以下非唯一队列:
## OAuth2 (`oauth2`)
- `ENABLED`: **true**启用OAuth2提供者。
- `ACCESS_TOKEN_EXPIRATION_TIME`**3600**OAuth2访问令牌的生命周期以秒为单位。
- `REFRESH_TOKEN_EXPIRATION_TIME`**730**OAuth2刷新令牌的生命周期以小时为单位。
- `INVALIDATE_REFRESH_TOKENS`**false**检查刷新令牌是否已被使用。
- `JWT_SIGNING_ALGORITHM`**RS256**用于签署OAuth2令牌的算法。有效值[`HS256``HS384``HS512``RS256``RS384``RS512``ES256``ES384``ES512`]。
- `JWT_SECRET`**_empty_**OAuth2访问和刷新令牌的身份验证密钥请将其更改为唯一的字符串。仅当`JWT_SIGNING_ALGORITHM`设置为`HS256``HS384``HS512`时才需要此设置。
- `JWT_SECRET_URI`**_empty_**可以使用此配置选项,而不是在配置中定义`JWT_SECRET`以向Gitea提供包含密钥的文件的路径示例值`file:/etc/gitea/oauth2_jwt_secret`)。
- `JWT_SIGNING_PRIVATE_KEY_FILE`**jwt/private.pem**用于签署OAuth2令牌的私钥文件路径。路径相对于`APP_DATA_PATH`。仅当`JWT_SIGNING_ALGORITHM`设置为`RS256``RS384``RS512``ES256``ES384``ES512`时才需要此设置。文件必须包含PKCS8格式的RSA或ECDSA私钥。如果不存在密钥则将为您创建一个4096位密钥。
- `MAX_TOKEN_LENGTH`**32767**从OAuth2提供者接受的令牌/cookie的最大长度。
- `DEFAULT_APPLICATIONS`**git-credential-oauthgit-credential-manager, tea**在启动时预注册用于某些服务的OAuth应用程序。有关可用选项列表请参阅[OAuth2文档](/development/oauth2-provider.md)。
- `ENABLED`: **true**: 启用OAuth2提供者。
- `ACCESS_TOKEN_EXPIRATION_TIME`**3600**: OAuth2访问令牌的生命周期以秒为单位。
- `REFRESH_TOKEN_EXPIRATION_TIME`**730**: OAuth2刷新令牌的生命周期以小时为单位。
- `INVALIDATE_REFRESH_TOKENS`**false**: 检查刷新令牌是否已被使用。
- `JWT_SIGNING_ALGORITHM`**RS256**: 用于签署OAuth2令牌的算法。有效值[`HS256``HS384``HS512``RS256``RS384``RS512``ES256``ES384``ES512`]。
- `JWT_SECRET`**_empty_**: OAuth2访问和刷新令牌的身份验证密钥请将其更改为唯一的字符串。仅当`JWT_SIGNING_ALGORITHM`设置为`HS256``HS384``HS512`时才需要此设置。
- `JWT_SECRET_URI`**_empty_**: 可以使用此配置选项,而不是在配置中定义`JWT_SECRET`以向Gitea提供包含密钥的文件的路径示例值`file:/etc/gitea/oauth2_jwt_secret`)。
- `JWT_SIGNING_PRIVATE_KEY_FILE`**jwt/private.pem**: 用于签署OAuth2令牌的私钥文件路径。路径相对于`APP_DATA_PATH`。仅当`JWT_SIGNING_ALGORITHM`设置为`RS256``RS384``RS512``ES256``ES384``ES512`时才需要此设置。文件必须包含PKCS8格式的RSA或ECDSA私钥。如果不存在密钥则将为您创建一个4096位密钥。
- `MAX_TOKEN_LENGTH`**32767**: 从OAuth2提供者接受的令牌/cookie的最大长度。
- `DEFAULT_APPLICATIONS`**git-credential-oauthgit-credential-manager, tea**: 在启动时预注册用于某些服务的OAuth应用程序。有关可用选项列表请参阅[OAuth2文档](/development/oauth2-provider.md)。
## i18n (`i18n`)
- `LANGS`: **en-US,zh-CN,zh-HK,zh-TW,de-DE,fr-FR,nl-NL,lv-LV,ru-RU,uk-UA,ja-JP,es-ES,pt-BR,pt-PT,pl-PL,bg-BG,it-IT,fi-FI,tr-TR,cs-CZ,sv-SE,ko-KR,el-GR,fa-IR,hu-HU,id-ID,ml-IN**
- `LANGS`: **en-US,zh-CN,zh-HK,zh-TW,de-DE,fr-FR,nl-NL,lv-LV,ru-RU,uk-UA,ja-JP,es-ES,pt-BR,pt-PT,pl-PL,bg-BG,it-IT,fi-FI,tr-TR,cs-CZ,sv-SE,ko-KR,el-GR,fa-IR,hu-HU,id-ID,ml-IN**:
在语言选择器中显示的区域设置列表。如果用户浏览器的语言与列表中的任何区域设置不匹配,则将使用第一个区域设置作为默认值。
- `NAMES`**English,简体中文,繁體中文(香港),繁體中文(台灣),Deutsch,Français,Nederlands,Latviešu,Русский,Українська,日本語,Español,Português do Brasil,Português de Portugal,Polski,Български,Italiano,Suomi,Türkçe,Čeština,Српски,Svenska,한국어,Ελληνικά,فارسی,Magyar nyelv,Bahasa Indonesia,മലയാളം**
- `NAMES`**English,简体中文,繁體中文(香港),繁體中文(台灣),Deutsch,Français,Nederlands,Latviešu,Русский,Українська,日本語,Español,Português do Brasil,Português de Portugal,Polski,Български,Italiano,Suomi,Türkçe,Čeština,Српски,Svenska,한국어,Ελληνικά,فارسی,Magyar nyelv,Bahasa Indonesia,മലയാളം**:
对应于各区域设置的可见名称。
## Markup (`markup`)
@@ -1128,93 +1128,93 @@ ALLOW_DATA_URI_IMAGES = true
## 迁移 (`migrations`)
- `MAX_ATTEMPTS`**3**每次 http/https 请求的最大尝试次数(用于迁移)。
- `RETRY_BACKOFF`**3**每次 http/https 请求重试的退避时间(秒)。
- `ALLOWED_DOMAINS`**_empty_**允许迁移仓库的域名允许列表,默认为空。这意味着允许外部网址。多个域名可以用逗号分隔。支持通配符:`github.com, *.github.com`
- `BLOCKED_DOMAINS`**_empty_**阻止迁移仓库的域名阻止列表,默认为空。多个域名可以用逗号分隔。当 `ALLOWED_DOMAINS` 不为空时,此选项优先级较高,用于拒绝域名。支持通配符。
- `ALLOW_LOCALNETWORKS`**false**允许 RFC 1918、RFC 1122、RFC 4632 和 RFC 4291 中定义的私有地址。如果域名被 `ALLOWED_DOMAINS` 允许,此选项将被忽略。
- `SKIP_TLS_VERIFY`**false**允许跳过 TLS 验证。
- `MAX_ATTEMPTS`**3**: 每次 http/https 请求的最大尝试次数(用于迁移)。
- `RETRY_BACKOFF`**3**: 每次 http/https 请求重试的退避时间(秒)。
- `ALLOWED_DOMAINS`**_empty_**: 允许迁移仓库的域名允许列表,默认为空。这意味着允许外部网址。多个域名可以用逗号分隔。支持通配符:`github.com, *.github.com`
- `BLOCKED_DOMAINS`**_empty_**: 阻止迁移仓库的域名阻止列表,默认为空。多个域名可以用逗号分隔。当 `ALLOWED_DOMAINS` 不为空时,此选项优先级较高,用于拒绝域名。支持通配符。
- `ALLOW_LOCALNETWORKS`**false**: 允许 RFC 1918、RFC 1122、RFC 4632 和 RFC 4291 中定义的私有地址。如果域名被 `ALLOWED_DOMAINS` 允许,此选项将被忽略。
- `SKIP_TLS_VERIFY`**false**: 允许跳过 TLS 验证。
## 联邦(`federation`
- `ENABLED`**false**启用/禁用联邦功能。
- `SHARE_USER_STATISTICS`**true**如果启用联邦,则启用/禁用节点信息的用户统计信息。
- `MAX_SIZE`**4**联邦请求和响应的最大大小MB
- `ENABLED`**false**: 启用/禁用联邦功能。
- `SHARE_USER_STATISTICS`**true**: 如果启用联邦,则启用/禁用节点信息的用户统计信息。
- `MAX_SIZE`**4**: 联邦请求和响应的最大大小MB
警告:更改以下设置可能会破坏联邦功能。
- `ALGORITHMS`**rsa-sha256, rsa-sha512, ed25519**HTTP 签名算法。
- `DIGEST_ALGORITHM`**SHA-256**HTTP 签名摘要算法。
- `GET_HEADERS`**(request-target), Date**用于联邦请求的 GET 头部。
- `POST_HEADERS`**(request-target), Date, Digest**用于联邦请求的 POST 头部。
- `ALGORITHMS`**rsa-sha256, rsa-sha512, ed25519**: HTTP 签名算法。
- `DIGEST_ALGORITHM`**SHA-256**: HTTP 签名摘要算法。
- `GET_HEADERS`**(request-target), Date**: 用于联邦请求的 GET 头部。
- `POST_HEADERS`**(request-target), Date, Digest**: 用于联邦请求的 POST 头部。
## 包(`packages`
- `ENABLED`**true**启用/禁用包注册表功能。
- `CHUNKED_UPLOAD_PATH`**tmp/package-upload**分块上传的路径。默认为 `APP_DATA_PATH` + `tmp/package-upload`
- `LIMIT_TOTAL_OWNER_COUNT`**-1**单个所有者可以拥有的包版本的最大数量(`-1` 表示无限制)。
- `LIMIT_TOTAL_OWNER_SIZE`**-1**单个所有者可以使用的包的最大大小(`-1` 表示无限制,格式为 `1000``1 MB``1 GiB`)。
- `LIMIT_SIZE_ALPINE`**-1**Alpine 上传的最大大小(`-1` 表示无限制,格式为 `1000``1 MB``1 GiB`)。
- `LIMIT_SIZE_CARGO`**-1**Cargo 上传的最大大小(`-1` 表示无限制,格式为 `1000``1 MB``1 GiB`)。
- `LIMIT_SIZE_CHEF`**-1**Chef 上传的最大大小(`-1` 表示无限制,格式为 `1000``1 MB``1 GiB`)。
- `LIMIT_SIZE_COMPOSER`**-1**Composer 上传的最大大小(`-1` 表示无限制,格式为 `1000``1 MB``1 GiB`)。
- `LIMIT_SIZE_CONAN`**-1**Conan 上传的最大大小(`-1` 表示无限制,格式为 `1000``1 MB``1 GiB`)。
- `LIMIT_SIZE_CONDA`**-1**Conda 上传的最大大小(`-1` 表示无限制,格式为 `1000``1 MB``1 GiB`)。
- `LIMIT_SIZE_CONTAINER`**-1**Container 上传的最大大小(`-1` 表示无限制,格式为 `1000``1 MB``1 GiB`)。
- `LIMIT_SIZE_CRAN`**-1**CRAN 上传的最大大小(`-1` 表示无限制,格式为 `1000``1 MB``1 GiB`)。
- `LIMIT_SIZE_DEBIAN`**-1**Debian 上传的最大大小(`-1` 表示无限制,格式为 `1000``1 MB``1 GiB`)。
- `LIMIT_SIZE_GENERIC`**-1**通用上传的最大大小(`-1` 表示无限制,格式为 `1000``1 MB``1 GiB`)。
- `LIMIT_SIZE_GO`**-1**Go 上传的最大大小(`-1` 表示无限制,格式为 `1000``1 MB``1 GiB`)。
- `LIMIT_SIZE_HELM`**-1**Helm 上传的最大大小(`-1` 表示无限制,格式为 `1000``1 MB``1 GiB`)。
- `LIMIT_SIZE_MAVEN`**-1**Maven 上传的最大大小(`-1` 表示无限制,格式为 `1000``1 MB``1 GiB`)。
- `LIMIT_SIZE_NPM`**-1**npm 上传的最大大小(`-1` 表示无限制,格式为 `1000``1 MB``1 GiB`)。
- `LIMIT_SIZE_NUGET`**-1**NuGet 上传的最大大小(`-1` 表示无限制,格式为 `1000``1 MB``1 GiB`)。
- `LIMIT_SIZE_PUB`**-1**Pub 上传的最大大小(`-1` 表示无限制,格式为 `1000``1 MB``1 GiB`)。
- `LIMIT_SIZE_PYPI`**-1**PyPI 上传的最大大小(`-1` 表示无限制,格式为 `1000``1 MB``1 GiB`)。
- `LIMIT_SIZE_RPM`**-1**RPM 上传的最大大小(`-1` 表示无限制,格式为 `1000``1 MB``1 GiB`)。
- `LIMIT_SIZE_RUBYGEMS`**-1**RubyGems 上传的最大大小(`-1` 表示无限制,格式为 `1000``1 MB``1 GiB`)。
- `LIMIT_SIZE_SWIFT`**-1**Swift 上传的最大大小(`-1` 表示无限制,格式为 `1000``1 MB``1 GiB`)。
- `LIMIT_SIZE_VAGRANT`**-1**Vagrant 上传的最大大小(`-1` 表示无限制,格式为 `1000``1 MB``1 GiB`)。
- `ENABLED`**true**: 启用/禁用包注册表功能。
- `CHUNKED_UPLOAD_PATH`**tmp/package-upload**: 分块上传的路径。默认为 `APP_DATA_PATH` + `tmp/package-upload`
- `LIMIT_TOTAL_OWNER_COUNT`**-1**: 单个所有者可以拥有的包版本的最大数量(`-1` 表示无限制)。
- `LIMIT_TOTAL_OWNER_SIZE`**-1**: 单个所有者可以使用的包的最大大小(`-1` 表示无限制,格式为 `1000``1 MB``1 GiB`)。
- `LIMIT_SIZE_ALPINE`**-1**: Alpine 上传的最大大小(`-1` 表示无限制,格式为 `1000``1 MB``1 GiB`)。
- `LIMIT_SIZE_CARGO`**-1**: Cargo 上传的最大大小(`-1` 表示无限制,格式为 `1000``1 MB``1 GiB`)。
- `LIMIT_SIZE_CHEF`**-1**: Chef 上传的最大大小(`-1` 表示无限制,格式为 `1000``1 MB``1 GiB`)。
- `LIMIT_SIZE_COMPOSER`**-1**: Composer 上传的最大大小(`-1` 表示无限制,格式为 `1000``1 MB``1 GiB`)。
- `LIMIT_SIZE_CONAN`**-1**: Conan 上传的最大大小(`-1` 表示无限制,格式为 `1000``1 MB``1 GiB`)。
- `LIMIT_SIZE_CONDA`**-1**: Conda 上传的最大大小(`-1` 表示无限制,格式为 `1000``1 MB``1 GiB`)。
- `LIMIT_SIZE_CONTAINER`**-1**: Container 上传的最大大小(`-1` 表示无限制,格式为 `1000``1 MB``1 GiB`)。
- `LIMIT_SIZE_CRAN`**-1**: CRAN 上传的最大大小(`-1` 表示无限制,格式为 `1000``1 MB``1 GiB`)。
- `LIMIT_SIZE_DEBIAN`**-1**: Debian 上传的最大大小(`-1` 表示无限制,格式为 `1000``1 MB``1 GiB`)。
- `LIMIT_SIZE_GENERIC`**-1**: 通用上传的最大大小(`-1` 表示无限制,格式为 `1000``1 MB``1 GiB`)。
- `LIMIT_SIZE_GO`**-1**: Go 上传的最大大小(`-1` 表示无限制,格式为 `1000``1 MB``1 GiB`)。
- `LIMIT_SIZE_HELM`**-1**: Helm 上传的最大大小(`-1` 表示无限制,格式为 `1000``1 MB``1 GiB`)。
- `LIMIT_SIZE_MAVEN`**-1**: Maven 上传的最大大小(`-1` 表示无限制,格式为 `1000``1 MB``1 GiB`)。
- `LIMIT_SIZE_NPM`**-1**: npm 上传的最大大小(`-1` 表示无限制,格式为 `1000``1 MB``1 GiB`)。
- `LIMIT_SIZE_NUGET`**-1**: NuGet 上传的最大大小(`-1` 表示无限制,格式为 `1000``1 MB``1 GiB`)。
- `LIMIT_SIZE_PUB`**-1**: Pub 上传的最大大小(`-1` 表示无限制,格式为 `1000``1 MB``1 GiB`)。
- `LIMIT_SIZE_PYPI`**-1**: PyPI 上传的最大大小(`-1` 表示无限制,格式为 `1000``1 MB``1 GiB`)。
- `LIMIT_SIZE_RPM`**-1**: RPM 上传的最大大小(`-1` 表示无限制,格式为 `1000``1 MB``1 GiB`)。
- `LIMIT_SIZE_RUBYGEMS`**-1**: RubyGems 上传的最大大小(`-1` 表示无限制,格式为 `1000``1 MB``1 GiB`)。
- `LIMIT_SIZE_SWIFT`**-1**: Swift 上传的最大大小(`-1` 表示无限制,格式为 `1000``1 MB``1 GiB`)。
- `LIMIT_SIZE_VAGRANT`**-1**: Vagrant 上传的最大大小(`-1` 表示无限制,格式为 `1000``1 MB``1 GiB`)。
## 镜像(`mirror`
- `ENABLED`**true**启用镜像功能。设置为 **false** 以禁用所有镜像。预先存在的镜像保持有效,但不会更新;可以转换为常规仓库。
- `DISABLE_NEW_PULL`**false**禁用创建**新的**拉取镜像。预先存在的镜像保持有效。如果 `mirror.ENABLED``false`,将被忽略。
- `DISABLE_NEW_PUSH`**false**禁用创建**新的**推送镜像。预先存在的镜像保持有效。如果 `mirror.ENABLED``false`,将被忽略。
- `DEFAULT_INTERVAL`**8h**每次检查之间的默认间隔。
- `MIN_INTERVAL`**10m**检查的最小间隔。(必须大于 1 分钟)。
- `ENABLED`**true**: 启用镜像功能。设置为 **false** 以禁用所有镜像。预先存在的镜像保持有效,但不会更新;可以转换为常规仓库。
- `DISABLE_NEW_PULL`**false**: 禁用创建**新的**拉取镜像。预先存在的镜像保持有效。如果 `mirror.ENABLED``false`,将被忽略。
- `DISABLE_NEW_PUSH`**false**: 禁用创建**新的**推送镜像。预先存在的镜像保持有效。如果 `mirror.ENABLED``false`,将被忽略。
- `DEFAULT_INTERVAL`**8h**: 每次检查之间的默认间隔。
- `MIN_INTERVAL`**10m**: 检查的最小间隔。(必须大于 1 分钟)。
## LFS (`lfs`)
用于 lfs 数据的存储配置。当将 `STORAGE_TYPE` 设置为 `xxx` 时,它将从默认的 `[storage]``[storage.xxx]` 派生。
当派生时,`PATH` 的默认值是 `data/lfs``MINIO_BASE_PATH` 的默认值是 `lfs/`
- `STORAGE_TYPE`**local**lfs 的存储类型,`local` 表示本地磁盘,`minio` 表示 S3 兼容对象存储服务,或者使用 `[storage.xxx]` 中定义的其他名称。
- `SERVE_DIRECT`**false**允许存储驱动程序重定向到经过身份验证的 URL 以直接提供文件。目前,仅支持通过签名的 URL 提供 Minio/S3本地不执行任何操作。
- `PATH`**./data/lfs**存储 LFS 文件的位置,仅在 `STORAGE_TYPE``local` 时可用。如果未设置,则回退到 `[server]` 部分中已弃用的 `LFS_CONTENT_PATH` 值。
- `MINIO_ENDPOINT`**localhost:9000**连接的 Minio 终端点,仅在 `STORAGE_TYPE``minio` 时可用。
- `STORAGE_TYPE`**local**: lfs 的存储类型,`local` 表示本地磁盘,`minio` 表示 S3 兼容对象存储服务,或者使用 `[storage.xxx]` 中定义的其他名称。
- `SERVE_DIRECT`**false**: 允许存储驱动程序重定向到经过身份验证的 URL 以直接提供文件。目前,仅支持通过签名的 URL 提供 Minio/S3本地不执行任何操作。
- `PATH`**./data/lfs**: 存储 LFS 文件的位置,仅在 `STORAGE_TYPE``local` 时可用。如果未设置,则回退到 `[server]` 部分中已弃用的 `LFS_CONTENT_PATH` 值。
- `MINIO_ENDPOINT`**localhost:9000**: 连接的 Minio 终端点,仅在 `STORAGE_TYPE``minio` 时可用。
- `MINIO_ACCESS_KEY_ID`Minio 的 accessKeyID仅在 `STORAGE_TYPE``minio` 时可用。
- `MINIO_SECRET_ACCESS_KEY`Minio 的 secretAccessKey仅在 `STORAGE_TYPE``minio` 时可用。
- `MINIO_BUCKET`**gitea**用于存储 lfs 的 Minio 桶,仅在 `STORAGE_TYPE``minio` 时可用。
- `MINIO_LOCATION`**us-east-1**创建桶的 Minio 位置,仅在 `STORAGE_TYPE``minio` 时可用。
- `MINIO_BASE_PATH`**lfs/**桶上的 Minio 基本路径,仅在 `STORAGE_TYPE``minio` 时可用。
- `MINIO_USE_SSL`**false**Minio 启用 ssl仅在 `STORAGE_TYPE``minio` 时可用。
- `MINIO_INSECURE_SKIP_VERIFY`**false**Minio 跳过 SSL 验证,仅在 `STORAGE_TYPE``minio` 时可用。
- `MINIO_BUCKET`**gitea**: 用于存储 lfs 的 Minio 桶,仅在 `STORAGE_TYPE``minio` 时可用。
- `MINIO_LOCATION`**us-east-1**: 创建桶的 Minio 位置,仅在 `STORAGE_TYPE``minio` 时可用。
- `MINIO_BASE_PATH`**lfs/**: 桶上的 Minio 基本路径,仅在 `STORAGE_TYPE``minio` 时可用。
- `MINIO_USE_SSL`**false**: Minio 启用 ssl仅在 `STORAGE_TYPE``minio` 时可用。
- `MINIO_INSECURE_SKIP_VERIFY`**false**: Minio 跳过 SSL 验证,仅在 `STORAGE_TYPE``minio` 时可用。
- `MINIO_BUCKET_LOOKUP_TYPE`: **auto**: Minio的bucket查找方式默认为`auto`模式,可将其设置为`dns`(虚拟托管样式)或`path`(路径样式),仅当`STORAGE_TYPE``minio`时可用。
## 存储 (`storage`)
默认的附件、lfs、头像、仓库头像、仓库归档、软件包、操作日志、artifacts 的存储配置。推荐仅仅配置此 section 并让其它的section 从此配置项继承。
- `STORAGE_TYPE`**local**存储类型,`local` 表示本地磁盘,`minio` 表示 S3`azureblob` 表示 azure 对象存储。
- `SERVE_DIRECT`**false**允许存储驱动程序重定向到经过身份验证的 URL 以直接提供文件。目前,仅支持通过签名的 URL 提供 Minio/S3本地不执行任何操作。
- `MINIO_ENDPOINT`**localhost:9000**连接的 Minio 终端点,仅在 `STORAGE_TYPE``minio` 时可用。
- `STORAGE_TYPE`**local**: 存储类型,`local` 表示本地磁盘,`minio` 表示 S3`azureblob` 表示 azure 对象存储。
- `SERVE_DIRECT`**false**: 允许存储驱动程序重定向到经过身份验证的 URL 以直接提供文件。目前,仅支持通过签名的 URL 提供 Minio/S3本地不执行任何操作。
- `MINIO_ENDPOINT`**localhost:9000**: 连接的 Minio 终端点,仅在 `STORAGE_TYPE``minio` 时可用。
- `MINIO_ACCESS_KEY_ID`Minio 的 accessKeyID仅在 `STORAGE_TYPE``minio` 时可用。
- `MINIO_SECRET_ACCESS_KEY`Minio 的 secretAccessKey仅在 `STORAGE_TYPE``minio` 时可用。
- `MINIO_BUCKET`**gitea**用于存储数据的 Minio 桶,仅在 `STORAGE_TYPE``minio` 时可用。
- `MINIO_LOCATION`**us-east-1**创建桶的 Minio 位置,仅在 `STORAGE_TYPE``minio` 时可用。
- `MINIO_USE_SSL`**false**Minio 启用 ssl仅在 `STORAGE_TYPE``minio` 时可用。
- `MINIO_INSECURE_SKIP_VERIFY`**false**Minio 跳过 SSL 验证,仅在 `STORAGE_TYPE``minio` 时可用。
- `MINIO_BUCKET`**gitea**: 用于存储数据的 Minio 桶,仅在 `STORAGE_TYPE``minio` 时可用。
- `MINIO_LOCATION`**us-east-1**: 创建桶的 Minio 位置,仅在 `STORAGE_TYPE``minio` 时可用。
- `MINIO_USE_SSL`**false**: Minio 启用 ssl仅在 `STORAGE_TYPE``minio` 时可用。
- `MINIO_INSECURE_SKIP_VERIFY`**false**: Minio 跳过 SSL 验证,仅在 `STORAGE_TYPE``minio` 时可用。
- `MINIO_BUCKET_LOOKUP_TYPE`: **auto**: Minio的bucket查找方式默认为`auto`模式,可将其设置为`dns`(虚拟托管样式)或`path`(路径样式),仅当`STORAGE_TYPE``minio`时可用。
- `AZURE_BLOB_ENDPOINT`: **_empty_**: Azure Blob 终端点,仅在 `STORAGE_TYPE``azureblob` 时可用。例如https://accountname.blob.core.windows.net 或 http://127.0.0.1:10000/devstoreaccount1
@@ -1298,23 +1298,23 @@ MINIO_BUCKET_LOOKUP_TYPE = auto
存储库归档存储的配置。当将`STORAGE_TYPE`设置为`xxx`时,它将继承默认的 `[storage]``[storage.xxx]` 配置。`PATH`的默认值是`data/repo-archive``MINIO_BASE_PATH`的默认值是`repo-archive/`
- `STORAGE_TYPE`: **local**存储类型,`local`表示本地磁盘,`minio`表示与S3兼容的对象存储服务或者使用定义为`[storage.xxx]`的其他名称。
- `SERVE_DIRECT`: **false**允许存储驱动程序重定向到经过身份验证的URL以直接提供文件。目前只有Minio/S3支持通过签名URL本地不执行任何操作。
- `PATH`: **./data/repo-archive**用于存储归档文件的位置,仅在`STORAGE_TYPE``local`时可用。
- `MINIO_ENDPOINT`: **localhost:9000**Minio端点仅在`STORAGE_TYPE``minio`时可用。
- `STORAGE_TYPE`: **local**: 存储类型,`local`表示本地磁盘,`minio`表示与S3兼容的对象存储服务或者使用定义为`[storage.xxx]`的其他名称。
- `SERVE_DIRECT`: **false**: 允许存储驱动程序重定向到经过身份验证的URL以直接提供文件。目前只有Minio/S3支持通过签名URL本地不执行任何操作。
- `PATH`: **./data/repo-archive**: 用于存储归档文件的位置,仅在`STORAGE_TYPE``local`时可用。
- `MINIO_ENDPOINT`: **localhost:9000**: Minio端点仅在`STORAGE_TYPE``minio`时可用。
- `MINIO_ACCESS_KEY_ID`: Minio的accessKeyID仅在`STORAGE_TYPE``minio`时可用。
- `MINIO_SECRET_ACCESS_KEY`: Minio的secretAccessKey仅在`STORAGE_TYPE``minio`时可用。
- `MINIO_BUCKET`: **gitea**用于存储归档的Minio存储桶仅在`STORAGE_TYPE``minio`时可用。
- `MINIO_LOCATION`: **us-east-1**用于创建存储桶的Minio位置仅在`STORAGE_TYPE``minio`时可用。
- `MINIO_BASE_PATH`: **repo-archive/**存储桶上的Minio基本路径仅在`STORAGE_TYPE``minio`时可用。
- `MINIO_USE_SSL`: **false**启用Minio的SSL仅在`STORAGE_TYPE``minio`时可用。
- `MINIO_INSECURE_SKIP_VERIFY`: **false**跳过Minio的SSL验证仅在`STORAGE_TYPE``minio`时可用。
- `MINIO_BUCKET`: **gitea**: 用于存储归档的Minio存储桶仅在`STORAGE_TYPE``minio`时可用。
- `MINIO_LOCATION`: **us-east-1**: 用于创建存储桶的Minio位置仅在`STORAGE_TYPE``minio`时可用。
- `MINIO_BASE_PATH`: **repo-archive/**: 存储桶上的Minio基本路径仅在`STORAGE_TYPE``minio`时可用。
- `MINIO_USE_SSL`: **false**: 启用Minio的SSL仅在`STORAGE_TYPE``minio`时可用。
- `MINIO_INSECURE_SKIP_VERIFY`: **false**: 跳过Minio的SSL验证仅在`STORAGE_TYPE``minio`时可用。
- `MINIO_BUCKET_LOOKUP_TYPE`: **auto**: Minio的bucket查找方式默认为`auto`模式,可将其设置为`dns`(虚拟托管样式)或`path`(路径样式),仅当`STORAGE_TYPE``minio`时可用。
### 存储库归档 (`repo-archive`)
- `STORAGE_TYPE`: **local**存储类型,用于操作日志,`local`表示本地磁盘,`minio`表示与S3兼容的对象存储服务默认为`local`,或者使用定义为`[storage.xxx]`的其他名称。
- `MINIO_BASE_PATH`: **repo-archive/**Minio存储桶上的基本路径仅在`STORAGE_TYPE``minio`时可用。
- `STORAGE_TYPE`: **local**: 存储类型,用于操作日志,`local`表示本地磁盘,`minio`表示与S3兼容的对象存储服务默认为`local`,或者使用定义为`[storage.xxx]`的其他名称。
- `MINIO_BASE_PATH`: **repo-archive/**: Minio存储桶上的基本路径仅在`STORAGE_TYPE``minio`时可用。
## 代理 (`proxy`)
@@ -1332,21 +1332,21 @@ PROXY_HOSTS = *.github.com
## Actions (`actions`)
- `ENABLED`: **true**启用/禁用操作功能
- `DEFAULT_ACTIONS_URL`: **github**获取操作插件的默认平台,`github`表示`https://github.com``self`表示当前的 Gitea 实例。
- `STORAGE_TYPE`: **local**用于操作日志的存储类型,`local`表示本地磁盘,`minio`表示与S3兼容的对象存储服务默认为`local`,或者使用定义为`[storage.xxx]`的其他名称。
- `MINIO_BASE_PATH`: **actions_log/**Minio存储桶上的基本路径仅在`STORAGE_TYPE``minio`时可用。
- `LOG_RETENTION_DAYS`: **365**日志保留时间(天)。此期限后将删除旧日志。
- `LOG_COMPRESSION`: **zstd**日志压缩方式,`none`表示不压缩,`zstd`表示 zstd 压缩。
- `ENABLED`: **true**: 启用/禁用操作功能
- `DEFAULT_ACTIONS_URL`: **github**: 获取操作插件的默认平台,`github`表示`https://github.com``self`表示当前的 Gitea 实例。
- `STORAGE_TYPE`: **local**: 用于操作日志的存储类型,`local`表示本地磁盘,`minio`表示与S3兼容的对象存储服务默认为`local`,或者使用定义为`[storage.xxx]`的其他名称。
- `MINIO_BASE_PATH`: **actions_log/**: Minio存储桶上的基本路径仅在`STORAGE_TYPE``minio`时可用。
- `LOG_RETENTION_DAYS`: **365**: 日志保留时间(天)。此期限后将删除旧日志。
- `LOG_COMPRESSION`: **zstd**: 日志压缩方式,`none`表示不压缩,`zstd`表示 zstd 压缩。
其它的压缩方式如`gzip`是不支持的,因为查看日志需要可寻址流。
如果 CPU 或内存不是瓶颈,建议在使用本地磁盘作为日志存储时总是使用压缩。
对于像 S3 这样的会对请求次数计费的对象存储服务,每次查看日志会导致额外的 2 次获取请求。
但它将节省存储空间和网络带宽,因此仍然建议使用压缩。
- `ARTIFACT_RETENTION_DAYS`: **90**保留 artifacts 的默认天数。可以通过在`actions/upload-artifact`步骤中设置`retention-days`选项来指定 artifacts 的保留期。
- `ZOMBIE_TASK_TIMEOUT`: **10m**僵尸任务超时时间,指具有运行状态但长时间未更新的任务。
- `ENDLESS_TASK_TIMEOUT`: **3h**无尽任务超时时间,指具有运行状态并持续更新,但长时间未结束的任务。
- `ABANDONED_JOB_TIMEOUT`: **24h**被遗弃的作业超时时间,指具有等待状态但长时间未被 runner 选中并执行的作业。
- `SKIP_WORKFLOW_STRINGS`: **[skip ci],[ci skip],[no ci],[skip actions],[actions skip]**提交者可以在提交消息或 PR 标题中放置的字符串,以跳过执行相应的工作流。
- `ARTIFACT_RETENTION_DAYS`: **90**: 保留 artifacts 的默认天数。可以通过在`actions/upload-artifact`步骤中设置`retention-days`选项来指定 artifacts 的保留期。
- `ZOMBIE_TASK_TIMEOUT`: **10m**: 僵尸任务超时时间,指具有运行状态但长时间未更新的任务。
- `ENDLESS_TASK_TIMEOUT`: **3h**: 无尽任务超时时间,指具有运行状态并持续更新,但长时间未结束的任务。
- `ABANDONED_JOB_TIMEOUT`: **24h**: 被遗弃的作业超时时间,指具有等待状态但长时间未被 runner 选中并执行的作业。
- `SKIP_WORKFLOW_STRINGS`: **[skip ci],[ci skip],[no ci],[skip actions],[actions skip]**: 提交者可以在提交消息或 PR 标题中放置的字符串,以跳过执行相应的工作流。
`DEFAULT_ACTIONS_URL` 指示 Gitea 操作运行程序应该在哪里找到带有相对路径的操作。
例如,`uses: actions/checkout@v4` 表示 `https://github.com/actions/checkout@v4`,因为 `DEFAULT_ACTIONS_URL` 的值为 `github`