diff --git a/.gitea/workflows/build-and-publish.yaml b/.gitea/workflows/build-and-publish.yaml index 99501061..3403c7d3 100644 --- a/.gitea/workflows/build-and-publish.yaml +++ b/.gitea/workflows/build-and-publish.yaml @@ -21,7 +21,7 @@ jobs: pip install awscli - name: prepare awesome list run: | - make prepare-awesome-latest prepare-awesome\#23 prepare-awesome\#22 prepare-awesome\#21 prepare-awesome\#20 prepare-awesome\#19 + make prepare-awesome-latest prepare-awesome\#25 prepare-awesome\#24 prepare-awesome\#23 prepare-awesome\#22 - name: Cache ~/.npm for npm ci uses: actions/cache@v4 with: diff --git a/.gitea/workflows/test.yaml b/.gitea/workflows/test.yaml index 78784346..cc4b164b 100644 --- a/.gitea/workflows/test.yaml +++ b/.gitea/workflows/test.yaml @@ -14,7 +14,7 @@ jobs: cache: npm - name: prepare awesome list run: | - make prepare-awesome-latest prepare-awesome\#23 prepare-awesome\#22 prepare-awesome\#21 prepare-awesome\#20 prepare-awesome\#19 + make prepare-awesome-latest prepare-awesome\#25 prepare-awesome\#24 prepare-awesome\#23 prepare-awesome\#22 - name: Cache ~/.npm for npm ci uses: actions/cache@v4 with: diff --git a/.gitea/workflows/update_swagger.yaml b/.gitea/workflows/update_swagger.yaml index 35a04f33..ab702506 100644 --- a/.gitea/workflows/update_swagger.yaml +++ b/.gitea/workflows/update_swagger.yaml @@ -16,13 +16,10 @@ jobs: sed -i "$@" 's\"basePath": "{{AppSubUrl | JSEscape}}/api/v1"\"basePath": "https://gitea.com/api/v1"\' v1_json.tmpl mv v1_json.tmpl static/swagger-latest.json - for ver in '1.24.7' '1.23.8' '1.22.6' '1.21.11' '1.20.6' '1.19.4'; do + for ver in '1.25.1' '1.24.7' '1.23.8' '1.22.6'; do wget https://raw.githubusercontent.com/go-gitea/gitea/refs/tags/v${ver}/templates/swagger/v1_json.tmpl sed -i "$@" "s|\"version\": \"{{AppVer \| JSEscape}}\"|\"version\": \"${ver}\"|" v1_json.tmpl sed -i "$@" 's\"basePath": "{{AppSubUrl | JSEscape}}/api/v1"\"basePath": "https://gitea.com/api/v1"\' v1_json.tmpl - # for version < 1.21.11 - sed -i "$@" "s|\"version\": \"{{AppVer \| JSEscape \| Safe}}\"|\"version\": \"${ver}\"|" v1_json.tmpl - sed -i "$@" 's\"basePath": "{{AppSubUrl | JSEscape | Safe}}/api/v1"\"basePath": "https://gitea.com/api/v1"\' v1_json.tmpl minor=$(echo "$ver" | cut -d '.' -f 2) mv v1_json.tmpl static/swagger-$minor.json done diff --git a/docusaurus.config.js b/docusaurus.config.js index 24382d12..b43c66fc 100644 --- a/docusaurus.config.js +++ b/docusaurus.config.js @@ -47,18 +47,6 @@ const apiConfig = [ route: "/api/1.22/", spec: "static/swagger-22.json", }, - { - route: "/api/1.21/", - spec: "static/swagger-21.json", - }, - { - route: "/api/1.20/", - spec: "static/swagger-20.json", - }, - { - route: "/api/1.19/", - spec: "static/swagger-19.json", - }, ] : [], // Theme Options for modifying how redoc renders them @@ -126,36 +114,6 @@ const globalVariables = { dockerVersion: "1.22.6", displayVersion: "1.22.6", }, - "1.21": { - goVersion: "1.21", - minGoVersion: "1.21", - minNodeVersion: "18", - version: "1.21.11", - sourceVersion: "v1.21.11", - sourceBranch: "release/v1.21", - dockerVersion: "1.21.11", - displayVersion: "1.21.11", - }, - "1.20": { - goVersion: "1.20", - minGoVersion: "1.20", - minNodeVersion: "16", - version: "1.20.6", - sourceVersion: "v1.20.6", - sourceBranch: "release/v1.20", - dockerVersion: "1.20.6", - displayVersion: "1.20.6", - }, - "1.19": { - goVersion: "1.20", - minGoVersion: "1.19", - minNodeVersion: "14", - version: "1.19.4", - sourceVersion: "v1.19.4", - sourceBranch: "release/v1.19", - dockerVersion: "1.19.4", - displayVersion: "1.19.4", - }, }; const versions = { @@ -175,15 +133,6 @@ const versions = { "1.22": { label: globalVariables["1.22"].displayVersion, }, - "1.21": { - label: globalVariables["1.21"].displayVersion, - }, - "1.20": { - label: globalVariables["1.20"].displayVersion, - }, - "1.19": { - label: globalVariables["1.19"].displayVersion, - }, }; /** @type {import('@docusaurus/types').Config} */ @@ -413,7 +362,7 @@ const config = { to: "/api/1.25/", label: "API", position: "left", - activeBaseRegex: "api/(1.19|1.20|1.21|1.22|1.23|1.24|1.25|next)/", + activeBaseRegex: "api/(1.22|1.23|1.24|1.25|next)/", }, { to: "/runner/0.2.11/", @@ -446,13 +395,11 @@ const config = { label: "API Version", position: "right", items: [ - { to: "/api/next/", label: "1.25-dev" }, + { to: "/api/next/", label: "1.26-dev" }, + { to: "/api/1.25/", label: "1.25.1" }, { to: "/api/1.24/", label: "1.24.7" }, { to: "/api/1.23/", label: "1.23.8" }, { to: "/api/1.22/", label: "1.22.6" }, - { to: "/api/1.21/", label: "1.21.11" }, - { to: "/api/1.20/", label: "1.20.6" }, - { to: "/api/1.19/", label: "1.19.4" }, ], routerRgx: "/api/", classNames: "api-dropdown", diff --git a/i18n/zh-cn/docusaurus-plugin-content-docs/version-1.19/administration.md b/i18n/zh-cn/docusaurus-plugin-content-docs/version-1.19/administration.md deleted file mode 100644 index 424479c8..00000000 --- a/i18n/zh-cn/docusaurus-plugin-content-docs/version-1.19/administration.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -date: "2016-12-01T16:00:00+02:00" -title: "运维" -slug: "administration" -sidebar_position: 30 - -menu: - sidebar: - name: "运维" - sidebar_position: 20 - identifier: "administration" ---- diff --git a/i18n/zh-cn/docusaurus-plugin-content-docs/version-1.19/administration/adding-legal-pages.md b/i18n/zh-cn/docusaurus-plugin-content-docs/version-1.19/administration/adding-legal-pages.md deleted file mode 100644 index e66391bf..00000000 --- a/i18n/zh-cn/docusaurus-plugin-content-docs/version-1.19/administration/adding-legal-pages.md +++ /dev/null @@ -1,33 +0,0 @@ ---- -date: "2023-05-23T09:00:00+08:00" -slug: adding-legal-pages -sidebar_position: 110 -aliases: - - /zh-cn/adding-legal-pages ---- - -# 添加法律页面 - -一些法域(例如欧盟)要求在网站上添加特定的法律页面(例如隐私政策)。按照以下步骤将它们添加到你的 Gitea 实例中。 - -## 获取页面 - -Gitea 源代码附带了示例页面,位于 `contrib/legal` 目录中。将它们复制到 `custom/public/` 目录下。例如,如果要添加隐私政策: - -``` -wget -O /path/to/custom/public/privacy.html https://raw.githubusercontent.com/go-gitea/gitea/main/contrib/legal/privacy.html.sample -``` - -现在,你需要编辑该页面以满足你的需求。特别是,你必须更改电子邮件地址、网址以及与 "Your Gitea Instance" 相关的引用,以匹配你的情况。 - -请务必不要放置会暗示 Gitea 项目对你的服务器负责的一般服务条款或隐私声明。 - -## 使其可见 - -创建或追加到 `/path/to/custom/templates/custom/extra_links_footer.tmpl` 文件中: - -```go -隐私政策 -``` - -重启 Gitea 以查看更改。 diff --git a/i18n/zh-cn/docusaurus-plugin-content-docs/version-1.19/administration/authentication.md b/i18n/zh-cn/docusaurus-plugin-content-docs/version-1.19/administration/authentication.md deleted file mode 100644 index 78002418..00000000 --- a/i18n/zh-cn/docusaurus-plugin-content-docs/version-1.19/administration/authentication.md +++ /dev/null @@ -1,26 +0,0 @@ ---- -date: "2016-12-01T16:00:00+02:00" -slug: "authentication" -sidebar_position: 10 ---- - -# 认证 - -## 反向代理认证 - -Gitea 支持通过读取反向代理传递的 HTTP 头中的登录名或者 email 地址来支持反向代理来认证。默认是不启用的,你可以用以下配置启用。 - -```ini -[service] -ENABLE_REVERSE_PROXY_AUTHENTICATION = true -``` - -默认的登录用户名的 HTTP 头是 `X-WEBAUTH-USER`,你可以通过修改 `REVERSE_PROXY_AUTHENTICATION_USER` 来变更它。如果用户不存在,可以自动创建用户,当然你需要修改 `ENABLE_REVERSE_PROXY_AUTO_REGISTRATION=true` 来启用它。 - -默认的登录用户 Email 的 HTTP 头是 `X-WEBAUTH-EMAIL`,你可以通过修改 `REVERSE_PROXY_AUTHENTICATION_EMAIL` 来变更它。如果用户不存在,可以自动创建用户,当然你需要修改 `ENABLE_REVERSE_PROXY_AUTO_REGISTRATION=true` 来启用它。你也可以通过修改 `ENABLE_REVERSE_PROXY_EMAIL` 来启用或停用这个 HTTP 头。 - -如果设置了 `ENABLE_REVERSE_PROXY_FULL_NAME=true`,则用户的全名会从 `X-WEBAUTH-FULLNAME` 读取,这样在自动创建用户时将使用这个字段作为用户全名,你也可以通过修改 `REVERSE_PROXY_AUTHENTICATION_FULL_NAME` 来变更 HTTP 头。 - -你也可以通过修改 `REVERSE_PROXY_TRUSTED_PROXIES` 来设置反向代理的IP地址范围,加强安全性,默认值是 `127.0.0.0/8,::1/128`。 通过 `REVERSE_PROXY_LIMIT`, 可以设置最多信任几级反向代理。 - -注意:反向代理认证不支持认证 API,API 仍旧需要用 access token 来进行认证。 diff --git a/i18n/zh-cn/docusaurus-plugin-content-docs/version-1.19/administration/backup-and-restore.md b/i18n/zh-cn/docusaurus-plugin-content-docs/version-1.19/administration/backup-and-restore.md deleted file mode 100644 index f9a4b136..00000000 --- a/i18n/zh-cn/docusaurus-plugin-content-docs/version-1.19/administration/backup-and-restore.md +++ /dev/null @@ -1,57 +0,0 @@ ---- -date: "2018-06-06T09:33:00+08:00" -slug: "backup-and-restore" -sidebar_position: 11 ---- - -# 备份与恢复 - -Gitea 已经实现了 `dump` 命令可以用来备份所有需要的文件到一个zip压缩文件。该压缩文件可以被用来进行数据恢复。 - -## 备份命令 (`dump`) - -先转到git用户的权限: `su git`. 再Gitea目录运行 `./gitea dump`。一般会显示类似如下的输出: - -``` -2016/12/27 22:32:09 Creating tmp work dir: /tmp/gitea-dump-417443001 -2016/12/27 22:32:09 Dumping local repositories.../home/git/gitea-repositories -2016/12/27 22:32:22 Dumping database... -2016/12/27 22:32:22 Packing dump files... -2016/12/27 22:32:34 Removing tmp work dir: /tmp/gitea-dump-417443001 -2016/12/27 22:32:34 Finish dumping in file gitea-dump-1482906742.zip -``` - -最后生成的 `gitea-dump-1482906742.zip` 文件将会包含如下内容: - -* `custom` - 所有保存在 `custom/` 目录下的配置和自定义的文件。 -* `data` - 数据目录下的所有内容不包含使用文件session的文件。该目录包含 `attachments`, `avatars`, `lfs`, `indexers`, 如果使用sqlite 还会包含 sqlite 数据库文件。 -* `gitea-db.sql` - 数据库dump出来的 SQL。 -* `gitea-repo.zip` - Git仓库压缩文件。 -* `log/` - Logs文件,如果用作迁移不是必须的。 - -中间备份文件将会在临时目录进行创建,如果您要重新指定临时目录,可以用 `--tempdir` 参数,或者用 `TMPDIR` 环境变量。 - -## Restore Command (`restore`) - -当前还没有恢复命令,恢复需要人工进行。主要是把文件和数据库进行恢复。 - -例如: - -```sh -unzip gitea-dump-1610949662.zip -cd gitea-dump-1610949662 -mv data/conf/app.ini /etc/gitea/conf/app.ini -mv data/* /var/lib/gitea/data/ -mv log/* /var/lib/gitea/log/ -mv repos/* /var/lib/gitea/repositories/ -chown -R gitea:gitea /etc/gitea/conf/app.ini /var/lib/gitea - -# mysql -mysql --default-character-set=utf8mb4 -u$USER -p$PASS $DATABASE `:访问 `clone_addr` 的密码。 - - `--auth_token `:访问 `clone_addr` 的个人令牌。 - - `--owner_name lunny`:如果非空,数据将存储在具有所有者名称的目录中。 - - `--repo_name tango`:如果非空,数据将存储在具有存储库名称的目录中。 - - `--units `:要迁移的项目,一个或多个项目应以逗号分隔。允许的项目有 wiki, issues, labels, releases, release_assets, milestones, pull_requests, comments。如果为空,则表示所有项目。 - -### restore-repo - -`restore-repo` 从磁盘目录中还原存储库数据: - -- 选项: - - `--repo_dir dir`,`-r dir`:还原数据的存储库目录路径。 - - `--owner_name lunny`:还原目标所有者名称。 - - `--repo_name tango`:还原目标存储库名称。 - - `--units `:要还原的项目,一个或多个项目应以逗号分隔。允许的项目有 wiki, issues, labels, releases, release_assets, milestones, pull_requests, comments。如果为空,则表示所有项目。 - -### actions generate-runner-token - -生成一个供 Runner 使用的新令牌,用于向服务器注册。 - -- 选项: - - `--scope {owner}[/{repo}]`,`-s {owner}[/{repo}]`:限制 Runner 的范围,没有范围表示该 Runner 可用于所有仓库,但你也可以将其限制为特定的仓库或所有者。 - -要注册全局 Runner: - -``` -gitea actions generate-runner-token -``` - -要注册特定组织的 Runner,例如 `org`: - -``` -gitea actions generate-runner-token -s org -``` - -要注册特定仓库的 Runner,例如 `username/test-repo`: - -``` -gitea actions generate-runner-token -s username/test-repo -``` diff --git a/i18n/zh-cn/docusaurus-plugin-content-docs/version-1.19/administration/config-cheat-sheet.md b/i18n/zh-cn/docusaurus-plugin-content-docs/version-1.19/administration/config-cheat-sheet.md deleted file mode 100644 index 27c40452..00000000 --- a/i18n/zh-cn/docusaurus-plugin-content-docs/version-1.19/administration/config-cheat-sheet.md +++ /dev/null @@ -1,461 +0,0 @@ ---- -date: "2016-12-26T16:00:00+02:00" -slug: "config-cheat-sheet" -sidebar_position: 30 ---- - -# 配置说明 - -这是针对Gitea配置文件的说明,你可以了解Gitea的强大配置。需要说明的是,你的所有改变请修改 `custom/conf/app.ini` 文件而不是源文件。 -所有默认值可以通过 [app.example.ini](https://github.com/go-gitea/gitea/blob/main/custom/conf/app.example.ini) 查看到。 -如果你发现 `%(X)s` 这样的内容,请查看 [ini](https://github.com/go-ini/ini/#recursive-values) 这里的说明。 -标注了 :exclamation: 的配置项表明除非你真的理解这个配置项的意义,否则最好使用默认值。 - -## ⚠️时效性警告⚠️ - -此文档的内容可能过于陈旧或者错误,请参考英文文档。 - -## Overall (`DEFAULT`) - -- `APP_NAME`: 应用名称,改成你希望的名字。 -- `RUN_USER`: 运行Gitea的用户,推荐使用 `git`;如果在你自己的个人电脑使用改成你自己的用户名。如果设置不正确,Gitea可能崩溃。 -- `RUN_MODE`: 从性能考虑,如果在产品级的服务上改成 `prod`。如果您使用安装向导安装的那么会自动设置为 `prod`。 - -## Repository (`repository`) - -- `ROOT`: 存放git工程的根目录。这里必须填绝对路径,默认值是 `~//gitea-repositories`。 -- `SCRIPT_TYPE`: 服务器支持的Shell类型,通常是 `bash`,但有些服务器也有可能是 `sh`。 -- `ANSI_CHARSET`: 默认字符编码。 -- `FORCE_PRIVATE`: 强制所有git工程必须私有。 -- `DEFAULT_PRIVATE`: 默认创建的git工程为私有。 可以是`last`, `private` 或 `public`。默认值是 `last`表示用户最后创建的Repo的选择。 -- `DEFAULT_PUSH_CREATE_PRIVATE`: **true**: 通过 ``push-to-create`` 方式创建的仓库是否默认为私有仓库. -- `MAX_CREATION_LIMIT`: 全局最大每个用户创建的git工程数目, `-1` 表示没限制。 -- `PULL_REQUEST_QUEUE_LENGTH`: 小心:合并请求测试队列的长度,尽量放大。 - -### Repository - Release (`repository.release`) - -- `ALLOWED_TYPES`: **_empty_**: 允许扩展名的列表,用逗号分隔 (`.zip`), mime 类型 (`text/plain`) 或者匹配符号 (`image/*`, `audio/*`, `video/*`). 空值或者 `*/*` 允许所有类型。 -- `DEFAULT_PAGING_NUM`: **10**: 默认的发布版本页面分页。 - -## UI (`ui`) - -- `EXPLORE_PAGING_NUM`: 探索页面每页显示的仓库数量。 -- `ISSUE_PAGING_NUM`: 工单页面每页显示的工单数量。 -- `MEMBERS_PAGING_NUM`: **20**: 组织成员页面每页显示的成员数量。 -- `FEED_MAX_COMMIT_NUM`: 活动流页面显示的最大提交数量。 - -### UI - Admin (`ui.admin`) - -- `USER_PAGING_NUM`: 用户管理页面每页显示的用户数量。 -- `REPO_PAGING_NUM`: 仓库管理页面每页显示的仓库数量。 -- `NOTICE_PAGING_NUM`: 系统提示页面每页显示的提示数量。 -- `ORG_PAGING_NUM`: 组织管理页面每页显示的组织数量。 - -## Markdown (`markdown`) - -- `ENABLE_HARD_LINE_BREAK`: 是否启用硬换行扩展。 - -## Server (`server`) - -- `PROTOCOL`: 可选 `http` 或 `https`。 -- `DOMAIN`: 服务器域名。 -- `ROOT_URL`: Gitea服务器的对外 URL。 -- `HTTP_ADDR`: HTTP 监听地址。 -- `HTTP_PORT`: HTTP 监听端口。 -- `DISABLE_SSH`: 是否禁用SSH。 -- `START_SSH_SERVER`: 是否启用内部SSH服务器。 -- `SSH_PORT`: SSH端口,默认为 `22`。 -- `OFFLINE_MODE`: 针对静态和头像文件禁用 CDN。 -- `DISABLE_ROUTER_LOG`: 关闭日志中的路由日志。 -- `CERT_FILE`: 启用HTTPS的证书文件。 -- `KEY_FILE`: 启用HTTPS的密钥文件。 -- `STATIC_ROOT_PATH`: 存放模板和静态文件的根目录,默认是 Gitea 的根目录。 -- `STATIC_CACHE_TIME`: **6h**: 静态资源文件,包括 `custom/`, `public/` 和所有上传的头像的浏览器缓存时间。 -- `ENABLE_GZIP`: 启用实时生成的数据启用 GZIP 压缩,不包括静态资源。 -- `LANDING_PAGE`: 未登录用户的默认页面,可选 `home` 或 `explore`。 - -- `LFS_START_SERVER`: 是否启用 git-lfs 支持. 可以为 `true` 或 `false`, 默认是 `false`。 -- `LFS_JWT_SECRET`: LFS 认证密钥,改成自己的。 -- `LFS_CONTENT_PATH`: **已废弃**, 存放 lfs 命令上传的文件的地方,默认是 `data/lfs`。**废弃** 请使用 `[lfs]` 的设置。 - -## Database (`database`) - -- `DB_TYPE`: 数据库类型,可选 `mysql`, `postgres`, `mssql` 或 `sqlite3`。 -- `HOST`: 数据库服务器地址和端口。 -- `NAME`: 数据库名称。 -- `USER`: 数据库用户名。 -- `PASSWD`: 数据库用户密码。 -- `SSL_MODE`: MySQL 或 PostgreSQL数据库是否启用SSL模式。 -- `CHARSET`: **utf8mb4**: 仅当数据库为 MySQL 时有效, 可以为 "utf8" 或 "utf8mb4"。注意:如果使用 "utf8mb4",你的 MySQL InnoDB 版本必须在 5.6 以上。 -- `PATH`: SQLite3 数据文件存放路径。 -- `LOG_SQL`: **true**: 显示生成的SQL,默认为真。 -- `MAX_IDLE_CONNS` **0**: 最大空闲数据库连接 -- `CONN_MAX_LIFETIME` **3s**: 数据库连接最大存活时间 - -## Indexer (`indexer`) - -- `ISSUE_INDEXER_TYPE`: **bleve**: 工单索引类型,当前支持 `bleve`, `db` 和 `elasticsearch`,当为 `db` 时其它工单索引项可不用设置。 -- `ISSUE_INDEXER_CONN_STR`: ****: 工单索引连接字符串,仅当 ISSUE_INDEXER_TYPE 为 `elasticsearch` 时有效。例如: http://elastic:changeme@localhost:9200 -- `ISSUE_INDEXER_NAME`: **gitea_issues**: 工单索引名称,仅当 ISSUE_INDEXER_TYPE 为 `elasticsearch` 时有效。 -- `ISSUE_INDEXER_PATH`: **indexers/issues.bleve**: 工单索引文件存放路径,当索引类型为 `bleve` 时有效。 -- `ISSUE_INDEXER_QUEUE_TYPE`: **levelqueue**: 工单索引队列类型,当前支持 `channel`, `levelqueue` 或 `redis`。 -- `ISSUE_INDEXER_QUEUE_DIR`: **indexers/issues.queue**: 当 `ISSUE_INDEXER_QUEUE_TYPE` 为 `levelqueue` 时,保存索引队列的磁盘路径。 -- `ISSUE_INDEXER_QUEUE_CONN_STR`: **addrs=127.0.0.1:6379 db=0**: 当 `ISSUE_INDEXER_QUEUE_TYPE` 为 `redis` 时,保存Redis队列的连接字符串。 -- `ISSUE_INDEXER_QUEUE_BATCH_NUMBER`: **20**: 队列处理中批量提交数量。 - -- `REPO_INDEXER_ENABLED`: **false**: 是否启用代码搜索(启用后会占用比较大的磁盘空间,如果是bleve可能需要占用约6倍存储空间)。 -- `REPO_INDEXER_TYPE`: **bleve**: 代码搜索引擎类型,可以为 `bleve` 或者 `elasticsearch`。 -- `REPO_INDEXER_PATH`: **indexers/repos.bleve**: 用于代码搜索的索引文件路径。 -- `REPO_INDEXER_CONN_STR`: ****: 代码搜索引擎连接字符串,当 `REPO_INDEXER_TYPE` 为 `elasticsearch` 时有效。例如: http://elastic:changeme@localhost:9200 -- `REPO_INDEXER_NAME`: **gitea_codes**: 代码搜索引擎的名字,当 `REPO_INDEXER_TYPE` 为 `elasticsearch` 时有效。 - -- `UPDATE_BUFFER_LEN`: **20**: 代码索引请求的缓冲区长度。 -- `MAX_FILE_SIZE`: **1048576**: 进行解析的源代码文件的最大长度,小于该值时才会索引。 - -## Security (`security`) - -- `INSTALL_LOCK`: 是否允许运行安装向导,(跟管理员账号有关,十分重要)。 -- `SECRET_KEY`: 全局服务器安全密钥 **最好改成你自己的** (当你运行安装向导的时候会被设置为一个随机值)。 -- `LOGIN_REMEMBER_DAYS`: Cookie 保存时间,单位天。 -- `COOKIE_USERNAME`: 保存用户名的 cookie 名称。 -- `COOKIE_REMEMBER_NAME`: 保存自动登录信息的 cookie 名称。 -- `REVERSE_PROXY_AUTHENTICATION_USER`: 反向代理认证的 HTTP 头名称。 - -## Service (`service`) - -- `ACTIVE_CODE_LIVE_MINUTES`: 登录验证码失效时间,单位分钟。 -- `RESET_PASSWD_CODE_LIVE_MINUTES`: 重置密码失效时间,单位分钟。 -- `REGISTER_EMAIL_CONFIRM`: 启用注册邮件激活,前提是 `Mailer` 已经启用。 -- `REGISTER_MANUAL_CONFIRM`: **false**: 新注册用户必须由管理员手动激活,启用此选项需取消`REGISTER_EMAIL_CONFIRM`. -- `DISABLE_REGISTRATION`: 禁用注册,启用后只能用管理员添加用户。 -- `SHOW_REGISTRATION_BUTTON`: 是否显示注册按钮。 -- `REQUIRE_SIGNIN_VIEW`: 是否所有页面都必须登录后才可访问。 -- `ENABLE_CACHE_AVATAR`: 是否缓存来自 Gravatar 的头像。 -- `ENABLE_NOTIFY_MAIL`: 是否发送工单创建等提醒邮件,需要 `Mailer` 被激活。 -- `ENABLE_REVERSE_PROXY_AUTHENTICATION`: 允许反向代理认证,更多细节见:https://github.com/gogits/gogs/issues/165 -- `ENABLE_REVERSE_PROXY_AUTO_REGISTRATION`: 允许通过反向认证做自动注册。 -- `ENABLE_CAPTCHA`: **false**: 注册时使用图片验证码。 -- `REQUIRE_CAPTCHA_FOR_LOGIN`: **false**: 登录时需要图片验证码。需要同时开启 `ENABLE_CAPTCHA`。 -- `CAPTCHA_TYPE`: **image**: \[image, recaptcha, hcaptcha, mcaptcha, cfturnstile\],人机验证类型,分别表示图片认证、 recaptcha 、 hcaptcha 、mcaptcha 、和 cloudlfare 的 turnstile。 -- `RECAPTCHA_SECRET`: **""**: recaptcha 服务的密钥,可在 https://www.google.com/recaptcha/admin 获取。 -- `RECAPTCHA_SITEKEY`: **""**: recaptcha 服务的网站密钥 ,可在 https://www.google.com/recaptcha/admin 获取。 -- `RECAPTCHA_URL`: **https://www.google.com/recaptcha/**: 设置 recaptcha 的 url 。 -- `HCAPTCHA_SECRET`: **""**: hcaptcha 服务的密钥,可在 https://www.hcaptcha.com/ 获取。 -- `HCAPTCHA_SITEKEY`: **""**: hcaptcha 服务的网站密钥,可在 https://www.hcaptcha.com/ 获取。 -- `MCAPTCHA_SECRET`: **""**: mCaptcha 服务的密钥。 -- `MCAPTCHA_SITEKEY`: **""**: mCaptcha 服务的网站密钥。 -- `MCAPTCHA_URL` **https://demo.mcaptcha.org/**: 设置 remCaptchacaptcha 的 url 。 -- `CF_TURNSTILE_SECRET` **""**: cloudlfare turnstile 服务的密钥,可在 https://dash.cloudflare.com/?to=/:account/turnstile 获取。 -- `CF_TURNSTILE_SITEKEY` **""**: cloudlfare turnstile 服务的网站密钥 ,可在 https://www.google.com/recaptcha/admin 获取。 - -### Service - Expore (`service.explore`) - -- `REQUIRE_SIGNIN_VIEW`: **false**: 仅允许已登录的用户查看探索页面。 -- `DISABLE_USERS_PAGE`: **false**: 不显示用户探索页面。 - -## Webhook (`webhook`) - -- `QUEUE_LENGTH`: 说明: Hook 任务队列长度。 -- `DELIVER_TIMEOUT`: 请求webhooks的超时时间,单位秒。 -- `SKIP_TLS_VERIFY`: 是否允许不安全的证书。 -- `PAGING_NUM`: 每页显示的Webhook 历史数量。 -- `PROXY_URL`: ****: 代理服务器网址,支持 http://, https//, socks://, 为空将使用环境变量中的 http_proxy/https_proxy 设置。 -- `PROXY_HOSTS`: ****: 逗号分隔的需要代理的域名或IP地址。支持 * 号匹配符,使用 ** 匹配所有域名和IP地址。 - -## Mailer (`mailer`) - -- `ENABLED`: 是否启用邮件服务。 -- `DISABLE_HELO`: 禁用 HELO 命令。 -- `HELO_HOSTNAME`: 自定义主机名来回应 HELO 命令。 -- `HOST`: SMTP 主机地址和端口 (例如:smtp.gitea.io:587)。 -- `FROM`: 邮件发送地址,RFC 5322. 这里可以填一个邮件地址或者 "Name" \ 格式。 -- `USER`: 用户名(通常就是邮件地址)。 -- `PASSWD`: 密码。 -- `SKIP_VERIFY`: 忽略证书验证。 - -说明:实际上 Gitea 仅仅支持基于 STARTTLS 的 SMTP。 - -## Cache (`cache`) - -- `ENABLED`: **true**: 是否启用。 -- `ADAPTER`: **memory**: 缓存引擎,可以为 `memory`, `redis` 或 `memcache`。 -- `INTERVAL`: **60**: 只对内存缓存有效,GC间隔,单位秒。 -- `HOST`: **_empty_**: 针对redis和memcache有效,主机地址和端口。 - - Redis: `network=tcp,addr=127.0.0.1:6379,password=macaron,db=0,pool_size=100,idle_timeout=180` - - Memache: `127.0.0.1:9090;127.0.0.1:9091` -- `ITEM_TTL`: **16h**: 缓存项目失效时间,设置为 -1 则禁用缓存。 - -## Cache - LastCommitCache settings (`cache.last_commit`) - -- `ENABLED`: **true**: 是否启用。 -- `ITEM_TTL`: **8760h**: 缓存项目失效时间,设置为 -1 则禁用缓存。 -- `COMMITS_COUNT`: **1000**: 仅当仓库的提交数大于时才启用缓存。 - -## Session (`session`) - -- `PROVIDER`: Session 内容存储方式,可选 `memory`, `file`, `redis` 或 `mysql`。 -- `PROVIDER_CONFIG`: 如果是文件,那么这里填根目录;其他的要填主机地址和端口。 -- `COOKIE_SECURE`: 强制使用 HTTPS 作为session访问。 -- `GC_INTERVAL_TIME`: Session失效时间。 - -## Picture (`picture`) - -- `GRAVATAR_SOURCE`: 头像来源,可以是 `gravatar`, `duoshuo` 或者类似 `http://cn.gravatar.com/avatar/` 的来源 -- `DISABLE_GRAVATAR`: 开启则只使用内部头像。 -- `ENABLE_FEDERATED_AVATAR`: 启用头像联盟支持 (参见 http://www.libravatar.org) - -- `AVATAR_STORAGE_TYPE`: **local**: 头像存储类型,可以为 `local` 或 `minio`,分别支持本地文件系统和 minio 兼容的API。 -- `AVATAR_UPLOAD_PATH`: **data/avatars**: 存储头像的文件系统路径。 -- `AVATAR_MAX_WIDTH`: **4096**: 头像最大宽度,单位像素。 -- `AVATAR_MAX_HEIGHT`: **3072**: 头像最大高度,单位像素。 -- `AVATAR_MAX_FILE_SIZE`: **1048576** (1Mb): 头像最大大小。 - -- `REPOSITORY_AVATAR_STORAGE_TYPE`: **local**: 仓库头像存储类型,可以为 `local` 或 `minio`,分别支持本地文件系统和 minio 兼容的API。 -- `REPOSITORY_AVATAR_UPLOAD_PATH`: **data/repo-avatars**: 存储仓库头像的路径。 -- `REPOSITORY_AVATAR_FALLBACK`: **none**: 当头像丢失时的处理方式 - - none = 不显示头像 - - random = 显示随机生成的头像 - - image = 显示默认头像,通过 `REPOSITORY_AVATAR_FALLBACK_IMAGE` 设置 -- `REPOSITORY_AVATAR_FALLBACK_IMAGE`: **/img/repo_default.png**: 默认仓库头像 - -## Attachment (`attachment`) - -- `ENABLED`: 是否允许用户上传附件。 -- `ALLOWED_TYPES`: 允许上传的附件类型。比如:`image/jpeg|image/png`,用 `*/*` 表示允许任何类型。 -- `MAX_SIZE`: 附件最大限制,单位 MB,比如: `4`。 -- `MAX_FILES`: 一次最多上传的附件数量,比如: `5`。 -- `STORAGE_TYPE`: **local**: 附件存储类型,`local` 将存储到本地文件夹, `minio` 将存储到 s3 兼容的对象存储服务中。 -- `PATH`: **data/attachments**: 附件存储路径,仅当 `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 bucket to store the attachments,仅当 `STORAGE_TYPE` 是 `minio` 时有效。 -- `MINIO_LOCATION`: **us-east-1**: Minio location to create bucket,仅当 `STORAGE_TYPE` 是 `minio` 时有效。 -- `MINIO_BASE_PATH`: **attachments/**: Minio base path on the bucket,仅当 `STORAGE_TYPE` 是 `minio` 时有效。 -- `MINIO_USE_SSL`: **false**: Minio enabled ssl,仅当 `STORAGE_TYPE` 是 `minio` 时有效。 - -关于 `ALLOWED_TYPES`, 在 (*)unix 系统中可以使用`file -I ` 来快速获得对应的 `MIME type`。 - -```shell -$ file -I test00.tar.xz -test00.tar.xz: application/x-xz; charset=binary - -$ file --mime test00.xlsx -test00.xlsx: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet; charset=binary - -file -I test01.xls -test01.xls: application/vnd.ms-excel; charset=binary -``` - -## Log (`log`) - -- `ROOT_PATH`: 日志文件根目录。 -- `MODE`: 日志记录模式,默认是为 `console`。如果要写到多个通道,用逗号分隔 -- `LEVEL`: 日志级别,默认为`Trace`。 - -## Cron (`cron`) - -- `ENABLED`: 是否在后台运行定期任务。 -- `RUN_AT_START`: 是否启动时自动运行。 -- `SCHEDULE` 所接受的格式 - - 完整 crontab 控制, 例如 `* * * * * ?` - - 描述符, 例如 `@midnight`, `@every 1h30m` ... - - 更多细节参见 [cron api文档](https://pkg.go.dev/github.com/gogs/cron@v0.0.0-20171120032916-9f6c956d3e14) - -### Cron - Update Mirrors (`cron.update_mirrors`) - -- `SCHEDULE`: 自动同步镜像仓库的Cron语法,比如:`@every 1h`。 - -### Cron - Repository Health Check (`cron.repo_health_check`) - -- `SCHEDULE`: 仓库健康监测的Cron语法,比如:`@midnight`。 -- `TIMEOUT`: 仓库健康监测的超时时间,比如:`60s`. -- `ARGS`: 执行 `git fsck` 命令的参数,比如:`--unreachable --tags`。 - -### Cron - Repository Statistics Check (`cron.check_repo_stats`) - -- `RUN_AT_START`: 是否启动时自动运行仓库统计。 -- `SCHEDULE`: 仓库统计时的Cron 语法,比如:`@midnight`. - -### Cron - Update Migration Poster ID (`cron.update_migration_poster_id`) - -- `SCHEDULE`: **@midnight** : 每次同步的间隔时间。此任务总是在启动时自动进行。 - -## Git (`git`) - -- `MAX_GIT_DIFF_LINES`: 比较视图中,一个文件最多显示行数。 -- `MAX_GIT_DIFF_LINE_CHARACTERS`: 比较视图中一行最大字符数。 -- `MAX_GIT_DIFF_FILES`: 比较视图中的最大现实文件数目。 -- `GC_ARGS`: 执行 `git gc` 命令的参数, 比如: `--aggressive --auto`。 - -## Git - 超时设置 (`git.timeout`) - -- `DEFAUlT`: **360**: Git操作默认超时时间,单位秒 -- `MIGRATE`: **600**: 迁移外部仓库时的超时时间,单位秒 -- `MIRROR`: **300**: 镜像外部仓库的超时时间,单位秒 -- `CLONE`: **300**: 内部仓库间克隆的超时时间,单位秒 -- `PULL`: **300**: 内部仓库间拉取的超时时间,单位秒 -- `GC`: **60**: git仓库GC的超时时间,单位秒 -- `ENABLE_AUTO_GIT_WIRE_PROTOCOL`: **true**: 是否根据 Git Wire Protocol协议支持情况自动切换版本,当 git 版本在 2.18 及以上时会自动切换到版本2。为 `false` 则不切换。 - -## API (`api`) - -- `ENABLE_SWAGGER`: **true**: 是否启用swagger路由 /api/swagger, /api/v1/swagger etc. endpoints. True 或 false. -- `MAX_RESPONSE_ITEMS`: **50**: 一个页面最大的项目数。 -- `DEFAULT_PAGING_NUM`: **30**: API中默认分页条数。 -- `DEFAULT_GIT_TREES_PER_PAGE`: **1000**: GIT TREES API每页的默认最大项数. -- `DEFAULT_MAX_BLOB_SIZE`: **10485760**: BLOBS API默认最大大小. - -## Markup (`markup`) - -外部渲染工具支持,你可以用你熟悉的文档渲染工具. 比如一下将新增一个名字为 `asciidoc` 的渲染工具which is followed `markup.` ini section. And there are some config items below. - -```ini -[markup.asciidoc] -ENABLED = false -NEED_POSTPROCESS = true -FILE_EXTENSIONS = .adoc,.asciidoc -RENDER_COMMAND = "asciidoc --out-file=- -" -IS_INPUT_FILE = false -``` - -- ENABLED: 是否启用,默认为false。 -- NEED\_POSTPROCESS: **true** 设置为 true 则会替换渲染文件中的内部链接和Commit ID 等。 -- FILE_EXTENSIONS: 关联的文档的扩展名,多个扩展名用都好分隔。 -- RENDER_COMMAND: 工具的命令行命令及参数。 -- IS_INPUT_FILE: 输入方式是最后一个参数为文件路径还是从标准输入读取。 -- RENDER_CONTENT_MODE: **sanitized** 内容如何被渲染。 - - sanitized: 对内容进行净化并渲染到当前页面中,仅有一部分 HTML 标签和属性是被允许的。 - - no-sanitizer: 禁用净化器,把内容渲染到当前页面中。此模式是**不安全**的,如果内容中含有恶意代码,可能会导致 XSS 攻击。 - - iframe: 把内容渲染在一个独立的页面中并使用 iframe 嵌入到当前页面中。使用的 iframe 工作在沙箱模式并禁用了同源请求,JS 代码被安全的从父页面中隔离出去。 - -以下两个环境变量将会被传递给渲染命令: - -- `GITEA_PREFIX_SRC`:包含当前的`src`路径的URL前缀,可以被用于链接的前缀。 -- `GITEA_PREFIX_RAW`:包含当前的`raw`路径的URL前缀,可以被用于图片的前缀。 - -如果 `RENDER_CONTENT_MODE` 为 `sanitized`,则 Gitea 支持自定义渲染 HTML 的净化策略。以下例子将用 pandoc 支持 KaTeX 输出。 - -```ini -[markup.sanitizer.TeX] -; Pandoc renders TeX segments as s with the "math" class, optionally -; with "inline" or "display" classes depending on context. -ELEMENT = span -ALLOW_ATTR = class -REGEXP = ^\s*((math(\s+|$)|inline(\s+|$)|display(\s+|$)))+ -ALLOW_DATA_URI_IMAGES = true -``` - -- `ELEMENT`: 将要被应用到该策略的 HTML 元素,不能为空。 -- `ALLOW_ATTR`: 将要被应用到该策略的属性,不能为空。 -- `REGEXP`: 正则表达式,用来匹配属性的内容。如果为空,则跟属性内容无关。 -- `ALLOW_DATA_URI_IMAGES`: **false** 允许 data uri 图片 (``)。 - -多个净化规则可以被同时定义,只要section名称最后一位不重复即可。如: `[markup.sanitizer.TeX-2]`。 -为了针对一种渲染类型进行一个特殊的净化策略,必须使用形如 `[markup.sanitizer.asciidoc.rule-1]` 的方式来命名 section。 -如果此规则没有匹配到任何渲染类型,它将会被应用到所有的渲染类型。 - -## Time (`time`) - -- `FORMAT`: 显示在界面上的时间格式。比如: RFC1123 或者 2006-01-02 15:04:05 -- `DEFAULT_UI_LOCATION`: 默认显示在界面上的时区,默认为本地时区。比如: Asia/Shanghai - -## Task (`task`) - -- `QUEUE_TYPE`: **channel**: 任务队列类型,可以为 `channel` 或 `redis`。 -- `QUEUE_LENGTH`: **1000**: 任务队列长度,当 `QUEUE_TYPE` 为 `channel` 时有效。 -- `QUEUE_CONN_STR`: **addrs=127.0.0.1:6379 db=0**: 任务队列连接字符串,当 `QUEUE_TYPE` 为 `redis` 时有效。如果redis有密码,则可以 `addrs=127.0.0.1:6379 password=123 db=0`。 - -## Migrations (`migrations`) - -- `MAX_ATTEMPTS`: **3**: 在迁移过程中的 http/https 请求重试次数。 -- `RETRY_BACKOFF`: **3**: 等待下一次重试的时间,单位秒。 -- `ALLOWED_DOMAINS`: **_empty_**: 迁移仓库的域名白名单,默认为空,表示允许从任意域名迁移仓库,多个域名用逗号分隔。 -- `BLOCKED_DOMAINS`: **_empty_**: 迁移仓库的域名黑名单,默认为空,多个域名用逗号分隔。如果 `ALLOWED_DOMAINS` 不为空,此选项有更高的优先级拒绝这里的域名。 -- `ALLOW_LOCALNETWORKS`: **false**: Allow private addresses defined by RFC 1918 -- `SKIP_TLS_VERIFY`: **false**: 允许忽略 TLS 认证 - -## LFS (`lfs`) - -LFS 的存储配置。 如果 `STORAGE_TYPE` 为空,则此配置将从 `[storage]` 继承。如果不为 `local` 或者 `minio` 而为 `xxx`, 则从 `[storage.xxx]` 继承。当继承时, `PATH` 默认为 `data/lfs`,`MINIO_BASE_PATH` 默认为 `lfs/`。 - -- `STORAGE_TYPE`: **local**: LFS 的存储类型,`local` 将存储到磁盘,`minio` 将存储到 s3 兼容的对象服务。 -- `SERVE_DIRECT`: **false**: 允许直接重定向到存储系统。当前,仅 Minio/S3 是支持的。 -- `PATH`: 存放 lfs 命令上传的文件的地方,默认是 `data/lfs`。 -- `MINIO_ENDPOINT`: **localhost:9000**: Minio 地址,仅当 `LFS_STORAGE_TYPE` 为 `minio` 时有效。 -- `MINIO_ACCESS_KEY_ID`: Minio accessKeyID,仅当 `LFS_STORAGE_TYPE` 为 `minio` 时有效。 -- `MINIO_SECRET_ACCESS_KEY`: Minio secretAccessKey,仅当 `LFS_STORAGE_TYPE` 为 `minio` 时有效。 -- `MINIO_BUCKET`: **gitea**: Minio bucket,仅当 `LFS_STORAGE_TYPE` 为 `minio` 时有效。 -- `MINIO_LOCATION`: **us-east-1**: Minio location ,仅当 `LFS_STORAGE_TYPE` 为 `minio` 时有效。 -- `MINIO_BASE_PATH`: **lfs/**: Minio base path ,仅当 `LFS_STORAGE_TYPE` 为 `minio` 时有效。 -- `MINIO_USE_SSL`: **false**: Minio 是否启用 ssl ,仅当 `LFS_STORAGE_TYPE` 为 `minio` 时有效。 - -## Storage (`storage`) - -Attachments, lfs, avatars and etc 的默认存储配置。 - -- `STORAGE_TYPE`: **local**: 附件存储类型,`local` 将存储到本地文件夹, `minio` 将存储到 s3 兼容的对象存储服务中。 -- `SERVE_DIRECT`: **false**: 允许直接重定向到存储系统。当前,仅 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 bucket to store the attachments,仅当 `STORAGE_TYPE` 是 `minio` 时有效。 -- `MINIO_LOCATION`: **us-east-1**: Minio location to create bucket,仅当 `STORAGE_TYPE` 是 `minio` 时有效。 -- `MINIO_USE_SSL`: **false**: Minio enabled ssl,仅当 `STORAGE_TYPE` 是 `minio` 时有效。 - -你也可以自定义一个存储的名字如下: - -```ini -[storage.my_minio] -STORAGE_TYPE = minio -; Minio endpoint to connect only available when STORAGE_TYPE is `minio` -MINIO_ENDPOINT = localhost:9000 -; Minio accessKeyID to connect only available when STORAGE_TYPE is `minio` -MINIO_ACCESS_KEY_ID = -; Minio secretAccessKey to connect only available when STORAGE_TYPE is `minio` -MINIO_SECRET_ACCESS_KEY = -; Minio bucket to store the attachments only available when STORAGE_TYPE is `minio` -MINIO_BUCKET = gitea -; Minio location to create bucket only available when STORAGE_TYPE is `minio` -MINIO_LOCATION = us-east-1 -; Minio enabled ssl only available when STORAGE_TYPE is `minio` -MINIO_USE_SSL = false -; Minio skip SSL verification available when STORAGE_TYPE is `minio` -MINIO_INSECURE_SKIP_VERIFY = false -``` - -然后你在 `[attachment]`, `[lfs]` 等中可以把这个名字用作 `STORAGE_TYPE` 的值。 - -## Repository Archive Storage (`storage.repo-archive`) - -Repository archive 的存储配置。 如果 `STORAGE_TYPE` 为空,则此配置将从 `[storage]` 继承。如果不为 `local` 或者 `minio` 而为 `xxx`, 则从 `[storage.xxx]` 继承。当继承时, `PATH` 默认为 `data/repo-archive`,`MINIO_BASE_PATH` 默认为 `repo-archive/`。 - -- `STORAGE_TYPE`: **local**: Repository archive 的存储类型,`local` 将存储到磁盘,`minio` 将存储到 s3 兼容的对象服务。 -- `SERVE_DIRECT`: **false**: 允许直接重定向到存储系统。当前,仅 Minio/S3 是支持的。 -- `PATH`: 存放 Repository archive 上传的文件的地方,默认是 `data/repo-archive`。 -- `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 bucket,仅当 `STORAGE_TYPE` 为 `minio` 时有效。 -- `MINIO_LOCATION`: **us-east-1**: Minio location ,仅当 `STORAGE_TYPE` 为 `minio` 时有效。 -- `MINIO_BASE_PATH`: **repo-archive/**: Minio base path ,仅当 `STORAGE_TYPE` 为 `minio` 时有效。 -- `MINIO_USE_SSL`: **false**: Minio 是否启用 ssl ,仅当 `STORAGE_TYPE` 为 `minio` 时有效。 - -## Proxy (`proxy`) - -- `PROXY_ENABLED`: **false**: 是否启用全局代理。如果为否,则不使用代理,环境变量中的代理也不使用 -- `PROXY_URL`: **_empty_**: 代理服务器地址,支持 http://, https//, socks://,为空则不启用代理而使用环境变量中的 http_proxy/https_proxy -- `PROXY_HOSTS`: **_empty_**: 逗号分隔的多个需要代理的网址,支持 * 号匹配符号, ** 表示匹配所有网站 - -i.e. - -```ini -PROXY_ENABLED = true -PROXY_URL = socks://127.0.0.1:1080 -PROXY_HOSTS = *.github.com -``` - -## Other (`other`) - -- `SHOW_FOOTER_BRANDING`: 为真则在页面底部显示Gitea的字样。 -- `SHOW_FOOTER_VERSION`: 为真则在页面底部显示Gitea的版本。 diff --git a/i18n/zh-cn/docusaurus-plugin-content-docs/version-1.19/administration/customizing-gitea.md b/i18n/zh-cn/docusaurus-plugin-content-docs/version-1.19/administration/customizing-gitea.md deleted file mode 100644 index e4a44c63..00000000 --- a/i18n/zh-cn/docusaurus-plugin-content-docs/version-1.19/administration/customizing-gitea.md +++ /dev/null @@ -1,79 +0,0 @@ ---- -date: "2017-04-15T14:56:00+02:00" -slug: "customizing-gitea" -sidebar_position: 100 ---- - -# 自定义 Gitea 配置 - -Gitea 引用 `custom` 目录中的自定义配置文件来覆盖配置、模板等默认配置。 - -如果从二进制部署 Gitea ,则所有默认路径都将相对于该 gitea 二进制文件;如果从发行版安装,则可能会将这些路径修改为Linux文件系统标准。Gitea -将会自动创建包括 `custom/` 在内的必要应用目录,应用本身的配置存放在 -`custom/conf/app.ini` 当中。在发行版中可能会以 `/etc/gitea/` 的形式为 `custom` 设置一个符号链接,查看配置详情请移步: - -- [快速备忘单](https://docs.gitea.io/en-us/config-cheat-sheet/) -- [完整配置清单](https://github.com/go-gitea/gitea/blob/main/custom/conf/app.example.ini) - -如果您在 binary 同目录下无法找到 `custom` 文件夹,请检查您的 `GITEA_CUSTOM` -环境变量配置, 因为它可能被配置到了其他地方(可能被一些启动脚本设置指定了目录)。 - -- [环境变量清单](https://docs.gitea.io/en-us/specific-variables/) - -**注:** 必须完全重启 Gitea 以使配置生效。 - -## 使用自定义 /robots.txt - -将 [想要展示的内容](http://www.robotstxt.org/) 存放在 `custom` 目录中的 -`robots.txt` 文件来让 Gitea 使用自定义的`/robots.txt` (默认:空 404)。 - -## 使用自定义的公共文件 - -将自定义的公共文件(比如页面和图片)作为 webroot 放在 `custom/public/` 中来让 Gitea 提供这些自定义内容(符号链接将被追踪)。 - -举例说明:`image.png` 存放在 `custom/public/`中,那么它可以通过链接 http://gitea.domain.tld/assets/image.png 访问。 - -## 修改默认头像 - -替换以下目录中的 png 图片: `custom/public/img/avatar\_default.png` - -## 自定义 Gitea 页面 - -您可以改变 Gitea `custom/templates` 的每个单页面。您可以在 Gitea 源码的 `templates` 目录中找到用于覆盖的模板文件,应用将根据 -`custom/templates` 目录下的路径结构进行匹配和覆盖。 - -包含在 `{{` 和 `}}` 中的任何语句都是 Gitea 的模板语法,如果您不完全理解这些组件,不建议您对它们进行修改。 - -### 添加链接和页签 - -如果您只是想添加额外的链接到顶部导航栏或额外的选项卡到存储库视图,您可以将它们放在您 `custom/templates/custom/` 目录下的 `extra_links.tmpl` 和 `extra_tabs.tmpl` 文件中。 - -举例说明:假设您需要在网站放置一个静态的“关于”页面,您只需将该页面放在您的 -"custom/public/"目录下(比如 `custom/public/impressum.html`)并且将它与 `custom/templates/custom/extra_links.tmpl` 链接起来即可。 - -这个链接应当使用一个名为“item”的 class 来匹配当前样式,您可以使用 `{{AppSubUrl}}` 来获取 base URL: -`Impressum` - -同理,您可以将页签添加到 `extra_tabs.tmpl` 中,使用同样的方式来添加页签。它的具体样式需要与 -`templates/repo/header.tmpl` 中已有的其他选项卡的样式匹配 -([source in GitHub](https://github.com/go-gitea/gitea/blob/main/templates/repo/header.tmpl)) - -### 页面的其他新增内容 - -除了 `extra_links.tmpl` 和 `extra_tabs.tmpl`,您可以在您的 `custom/templates/custom/` 目录中存放一些其他有用的模板,例如: - -- `header.tmpl`,在 `` 标记结束之前的模板,例如添加自定义CSS文件 -- `body_outer_pre.tmpl`,在 `` 标记开始处的模板 -- `body_inner_pre.tmpl`,在顶部导航栏之前,但在主 container 内部的模板,例如添加一个 `
` -- `body_inner_post.tmpl`,在主 container 结束处的模板 -- `body_outer_post.tmpl`,在底部 `