Update zh tw languages and fix some broken links

This commit is contained in:
Lunny Xiao
2026-07-01 14:47:51 -07:00
parent 9558006c39
commit a084bdb556
842 changed files with 31137 additions and 31065 deletions

View File

@@ -6,99 +6,99 @@ aliases:
- /zh-tw/comparison
---
# 比 Gitea 其它 Git 管工具
# 比 Gitea 其它 Git 管工具
这里列出了 Gitea 其它一些 Git 管工具之间的异同,以便确认 Gitea 是否能够满足您的需求。
這裏列出了 Gitea 其它一些 Git 管工具之間的異同,以便確認 Gitea 是否能夠滿足您的需求。
注意,此列表中的某些表可能已经过时,因为我们并没有定期查其它品的功能是否有所更改。你可以前往 [Github issue](https://github.com/go-gitea/gitea/issues) 来帮助我更新过时的内容,感
注意,此列表中的某些表可能已經過時,因爲我們並沒有定期查其它品的功能是否有所更改。你可以前往 [Github issue](https://github.com/go-gitea/gitea/issues) 來幫助我更新過時的內容,感
_表格中的符号含义:_
_表格中的符號含義:_
- _✓ - 支_
- _✓ - 支_
- _ - 部分支_
- _ - 部分支_
- _✘ - 不支_
- _✘ - 不支_
- _⚙ - 由第三方服务或插件支持_
- _⚙ - 由第三方服務或外掛支援_
#### 主要特性
| 特性 | Gitea | Gogs | GitHub EE | GitLab CE | GitLab EE | BitBucket | RhodeCode CE |
| -------------------------------- | --------------------------------------------------- | ---- | --------- | --------- | --------- | -------------- | ------------ |
| 源免 | ✓ | ✓ | ✘ | ✓ | ✘ | ✘ | ✓ |
| 低资源开销 (RAM/CPU) | ✓ | ✓ | ✘ | ✘ | ✘ | ✘ | ✘ |
| 支持多种数据库 | ✓ | ✓ | ✘ | | | ✓ | ✓ |
| 支持多种操作系 | ✓ | ✓ | ✘ | ✘ | ✘ | ✘ | ✓ |
| 升级简便 | ✓ | ✓ | ✘ | ✓ | ✓ | ✘ | ✓ |
| 可观测性 | **✘** | ✘ | ✓ | ✓ | ✓ | ✓ | ? |
| 支第三方渲染工具 | ✓ | ✘ | ✘ | ✘ | ✘ | ✓ | ? |
| 源免 | ✓ | ✓ | ✘ | ✓ | ✘ | ✘ | ✓ |
| 低資源開銷 (RAM/CPU) | ✓ | ✓ | ✘ | ✘ | ✘ | ✘ | ✘ |
| 支援多種資料庫 | ✓ | ✓ | ✘ | | | ✓ | ✓ |
| 支援多種操作系 | ✓ | ✓ | ✘ | ✘ | ✘ | ✘ | ✓ |
| 升級簡便 | ✓ | ✓ | ✘ | ✓ | ✓ | ✘ | ✓ |
| 可觀測性 | **✘** | ✘ | ✓ | ✓ | ✓ | ✓ | ? |
| 支第三方渲染工具 | ✓ | ✘ | ✘ | ✘ | ✘ | ✓ | ? |
| WebAuthn (2FA) | ✓ | ✘ | ✓ | ✓ | ✓ | ✓ | ? |
| 展 API | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| 内置软件包/容器注册中心 | ✓ | ✘ | ✓ | ✓ | ✓ | ✘ | ✘ |
| 同步提交到外部仓库 (push mirror) | ✓ | ✓ | ✘ | ✓ | ✓ | ✘ | ✓ |
| 同步外部仓库的提交 (pull mirror) | ✓ | ✘ | ✘ | ✓ | ✓ | ✘ | ? |
| 色和深色主 | ✓ | ✘ | ✓ | ✓ | ✓ | ✘ | ? |
| 自定义主题支持 | ✓ | ✓ | ✘ | ✘ | ✘ | ✓ | ✘ |
| 支 Markdown | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| 支 CSV | ✓ | ✘ | ✓ | ✘ | ✘ | ✓ | ? |
| Git 驱动的静态 pages | [⚙️][gitea-pages-server], [⚙️][gitea-caddy-plugin] | ✘ | ✓ | ✓ | ✓ | ✘ | ✘ |
| Git 驱动的集成化 wiki | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ (cloud only) | ✘ |
| 展 API | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| 內置套件/容器註冊中心 | ✓ | ✘ | ✓ | ✓ | ✓ | ✘ | ✘ |
| 同步提交到外部儲存庫 (push mirror) | ✓ | ✓ | ✘ | ✓ | ✓ | ✘ | ✓ |
| 同步外部儲存庫的提交 (pull mirror) | ✓ | ✘ | ✘ | ✓ | ✓ | ✘ | ? |
| 色和深色主 | ✓ | ✘ | ✓ | ✓ | ✓ | ✘ | ? |
| 自訂主題支援 | ✓ | ✓ | ✘ | ✘ | ✘ | ✓ | ✘ |
| 支 Markdown | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| 支 CSV | ✓ | ✘ | ✓ | ✘ | ✘ | ✓ | ? |
| Git 驅動的靜態 pages | [⚙️][gitea-pages-server], [⚙️][gitea-caddy-plugin] | ✘ | ✓ | ✓ | ✓ | ✘ | ✘ |
| Git 驅動的整合化 wiki | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ (cloud only) | ✘ |
| 部署令牌 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| 仓库写权限令牌 | ✓ | ✘ | ✓ | ✓ | ✓ | ✓ | ✓ |
| 儲存庫寫權限令牌 | ✓ | ✘ | ✓ | ✓ | ✓ | ✓ | ✓ |
| RSS Feeds | ✓ | ✘ | ✓ | ✘ | ✘ | ✘ | ✘ |
| 置 CI/CD | ✓ | ✘ | ✓ | ✓ | ✓ | ✘ | ✘ |
| 子组织:组织内的组织 | [](https://github.com/go-gitea/gitea/issues/1872) | ✘ | ✘ | ✓ | ✓ | ✘ | ✓ |
| 多例交互 | [/](https://github.com/go-gitea/gitea/issues/18240) | ✘ | ✘ | ✘ | ✘ | ✘ | ✘ |
| Markdown 绘图 | ✓ | ✘ | ✓ | ✓ | ✓ | ✘ | ✘ |
| Markdown 数学公式 | ✓ | ✘ | ✓ | ✓ | ✓ | ✘ | ✘ |
| 置 CI/CD | ✓ | ✘ | ✓ | ✓ | ✓ | ✘ | ✘ |
| 子組織:組織內的組織 | [](https://github.com/go-gitea/gitea/issues/1872) | ✘ | ✘ | ✓ | ✓ | ✘ | ✓ |
| 多例交互 | [/](https://github.com/go-gitea/gitea/issues/18240) | ✘ | ✘ | ✘ | ✘ | ✘ | ✘ |
| Markdown 繪圖 | ✓ | ✘ | ✓ | ✓ | ✓ | ✘ | ✘ |
| Markdown 數學公式 | ✓ | ✘ | ✓ | ✓ | ✓ | ✘ | ✘ |
#### 代码管理
#### 程式碼管理
| 特性 | Gitea | Gogs | GitHub EE | GitLab CE | GitLab EE | BitBucket | RhodeCode CE |
| -------------------- | --------------------------------------------------- | ---- | --------- | --------- | --------- | --------- | ------------ |
| 仓库主题描述 | ✓ | ✘ | ✓ | ✓ | ✓ | ✘ | ✘ |
| 仓库内代码搜索 | ✓ | ✘ | ✓ | ✓ | ✓ | ✓ | ✓ |
| 全局代码搜索 | ✓ | ✘ | ✓ | ✘ | ✓ | ✓ | ✓ |
| 儲存庫主題描述 | ✓ | ✘ | ✓ | ✓ | ✓ | ✘ | ✘ |
| 儲存庫內程式碼搜索 | ✓ | ✘ | ✓ | ✓ | ✓ | ✓ | ✓ |
| 全域程式碼搜索 | ✓ | ✘ | ✓ | ✘ | ✓ | ✓ | ✓ |
| Git LFS 2.0 | ✓ | ✘ | ✓ | ✓ | ✓ | ✓ | ✓ |
| 组织里程碑 | [](https://github.com/go-gitea/gitea/issues/14622) | ✘ | ✘ | ✓ | ✓ | ✘ | ✘ |
| 粒度用户角色 | ✓ | ✘ | ✘ | ✓ | ✓ | ✘ | ✘ |
| 提交人的身份验证 | | ✘ | ? | ✓ | ✓ | ✓ | ✘ |
| GPG 名的提交 | ✓ | ✘ | ✓ | ✓ | ✓ | ✓ | ✓ |
| SSH 名的提交 | ✓ | ✘ | ✓ | ✓ | ✓ | ? | ? |
| 拒未通过验证的提交 | ✓ | ✘ | ✓ | ✓ | ✓ | ✓ | ✓ |
| 外部仓库迁移 | ✓ | ✘ | ✓ | ✓ | ✓ | ✓ | ✓ |
| 仓库活跃度页面 | ✓ | ✘ | ✓ | ✓ | ✓ | ✓ | ✓ |
| 組織里程碑 | [](https://github.com/go-gitea/gitea/issues/14622) | ✘ | ✘ | ✓ | ✓ | ✘ | ✘ |
| 粒度使用者角色 | ✓ | ✘ | ✘ | ✓ | ✓ | ✘ | ✘ |
| 提交人的身份驗證 | | ✘ | ? | ✓ | ✓ | ✓ | ✘ |
| GPG 名的提交 | ✓ | ✘ | ✓ | ✓ | ✓ | ✓ | ✓ |
| SSH 名的提交 | ✓ | ✘ | ✓ | ✓ | ✓ | ? | ? |
| 拒未通過驗證的提交 | ✓ | ✘ | ✓ | ✓ | ✓ | ✓ | ✓ |
| 外部儲存庫遷移 | ✓ | ✘ | ✓ | ✓ | ✓ | ✓ | ✓ |
| 儲存庫活躍度頁面 | ✓ | ✘ | ✓ | ✓ | ✓ | ✓ | ✓ |
| 分支管理 | ✓ | ✘ | ✓ | ✓ | ✓ | ✓ | ✓ |
| 建立新分支 | ✓ | ✘ | ✓ | ✓ | ✓ | ✘ | ✘ |
| 在线代码编辑 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| 提交的统计图表 | ✓ | ✘ | ✓ | ✓ | ✓ | ✓ | ✓ |
| 模板仓库 | ✓ | ✘ | ✓ | ✘ | ✓ | ✓ | ✘ |
| 在線程式碼編輯 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| 提交的統計圖表 | ✓ | ✘ | ✓ | ✓ | ✓ | ✓ | ✓ |
| 模板儲存庫 | ✓ | ✘ | ✓ | ✘ | ✓ | ✓ | ✘ |
| Git Blame | ✓ | ✘ | ✓ | ✓ | ✓ | ✓ | ✘ |
| 可视化镜像变化 | ✓ | ✘ | ✓ | ? | ? | ? | ? |
| 可視化鏡像變化 | ✓ | ✘ | ✓ | ? | ? | ? | ? |
#### 工管理
#### 工管理
| 特性 | Gitea | Gogs | GitHub EE | GitLab CE | GitLab EE | BitBucket | RhodeCode CE |
| ------------------- | -------------------------------------------------- | --------------------------------------------- | --------- | ----------------------------------------------------------------------- | --------- | -------------- | ------------ |
| 工单跟踪 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ (cloud only) | ✘ |
| 工模板 | ✓ | ✓ | ✓ | ✓ | ✓ | ✘ | ✘ |
| 标签 | ✓ | ✓ | ✓ | ✓ | ✓ | ✘ | ✘ |
| 时间跟踪 | ✓ | ✘ | ✓ | ✓ | ✓ | ✘ | ✘ |
| 支持多个负责人 | ✓ | ✘ | ✓ | ✘ | ✓ | ✘ | ✘ |
| 关联的工 | ✘ | ✘ | | [](https://docs.gitlab.com/ce/user/project/issues/related_issues.html) | ✓ | ✘ | ✘ |
| 私密工 | [](https://github.com/go-gitea/gitea/issues/3217) | ✘ | ✘ | ✓ | ✓ | ✘ | ✘ |
| 评论反馈 | ✓ | ✘ | ✓ | ✓ | ✓ | ✘ | ✘ |
| 锁定讨论 | ✓ | ✘ | ✓ | ✓ | ✓ | ✘ | ✘ |
| 工单批处理 | ✓ | ✘ | ✓ | ✓ | ✓ | ✘ | ✘ |
| 工看板 | [](https://github.com/go-gitea/gitea/pull/8346) | ✘ | ✘ | ✓ | ✓ | ✘ | ✘ |
| 从工单创建分支 | ✘ | ✘ | ✘ | ✓ | ✓ | ✘ | ✘ |
| 从评论创建工单 | ✓ | ✘ | ✓ | ✓ | ✓ | ✘ | ✘ |
| 工搜索 | ✓ | ✘ | ✓ | ✓ | ✓ | ✓ | ✘ |
| 工单全局搜索 | [](https://github.com/go-gitea/gitea/issues/2434) | ✘ | ✓ | ✓ | ✓ | ✓ | ✘ |
| 工单依赖关系 | ✓ | ✘ | ✘ | ✘ | ✘ | ✘ | ✘ |
| 通 Email 创建工单 | [](https://github.com/go-gitea/gitea/issues/6226) | [](https://github.com/gogs/gogs/issues/2602) | ✘ | ✓ | ✓ | ✓ | ✘ |
| 服务台 | [](https://github.com/go-gitea/gitea/issues/6219) | ✘ | ✘ | [](https://gitlab.com/groups/gitlab-org/-/epics/3103) | ✓ | ✘ | ✘ |
| 工單跟蹤 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ (cloud only) | ✘ |
| 工模板 | ✓ | ✓ | ✓ | ✓ | ✓ | ✘ | ✘ |
| 標籤 | ✓ | ✓ | ✓ | ✓ | ✓ | ✘ | ✘ |
| 時間跟蹤 | ✓ | ✘ | ✓ | ✓ | ✓ | ✘ | ✘ |
| 支援多個負責人 | ✓ | ✘ | ✓ | ✘ | ✓ | ✘ | ✘ |
| 關聯的工 | ✘ | ✘ | | [](https://docs.gitlab.com/ce/user/project/issues/related_issues.html) | ✓ | ✘ | ✘ |
| 私密工 | [](https://github.com/go-gitea/gitea/issues/3217) | ✘ | ✘ | ✓ | ✓ | ✘ | ✘ |
| 評論反饋 | ✓ | ✘ | ✓ | ✓ | ✓ | ✘ | ✘ |
| 鎖定討論 | ✓ | ✘ | ✓ | ✓ | ✓ | ✘ | ✘ |
| 工單批處理 | ✓ | ✘ | ✓ | ✓ | ✓ | ✘ | ✘ |
| 工看板 | [](https://github.com/go-gitea/gitea/pull/8346) | ✘ | ✘ | ✓ | ✓ | ✘ | ✘ |
| 從工單建立分支 | ✘ | ✘ | ✘ | ✓ | ✓ | ✘ | ✘ |
| 從評論建立工單 | ✓ | ✘ | ✓ | ✓ | ✓ | ✘ | ✘ |
| 工搜索 | ✓ | ✘ | ✓ | ✓ | ✓ | ✓ | ✘ |
| 工單全域搜索 | [](https://github.com/go-gitea/gitea/issues/2434) | ✘ | ✓ | ✓ | ✓ | ✓ | ✘ |
| 工單依賴關係 | ✓ | ✘ | ✘ | ✘ | ✘ | ✘ | ✘ |
| 通 Email 建立工單 | [](https://github.com/go-gitea/gitea/issues/6226) | [](https://github.com/gogs/gogs/issues/2602) | ✘ | ✓ | ✓ | ✓ | ✘ |
| 服務檯 | [](https://github.com/go-gitea/gitea/issues/6219) | ✘ | ✘ | [](https://gitlab.com/groups/gitlab-org/-/epics/3103) | ✓ | ✘ | ✘ |
#### Pull/Merge requests
@@ -107,34 +107,34 @@ _表格中的符号含义:_
| Pull/Merge requests | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| Squash merging | ✓ | ✘ | ✓ | [](https://docs.gitlab.com/ce/user/project/merge_requests/squash_and_merge.html) | ✓ | ✓ | ✓ |
| Rebase merging | ✓ | ✓ | ✓ | ✘ | | ✘ | ✓ |
| 评论 Pull/Merge request 中的某行代码 | ✓ | ✘ | ✓ | ✓ | ✓ | ✓ | ✓ |
| 指定 Pull/Merge request 的审核人 | ✓ | ✘ | | ✓ | ✓ | ✓ | ✓ |
| 解 Merge 突 | [](https://github.com/go-gitea/gitea/issues/5158) | ✘ | ✓ | ✓ | ✓ | ✓ | ✘ |
| 限制某些用户的 push 和 merge 限 | ✓ | ✘ | ✓ | | ✓ | ✓ | ✓ |
| 評論 Pull/Merge request 中的某行程式碼 | ✓ | ✘ | ✓ | ✓ | ✓ | ✓ | ✓ |
| 指定 Pull/Merge request 的審覈人 | ✓ | ✘ | | ✓ | ✓ | ✓ | ✓ |
| 解 Merge 突 | [](https://github.com/go-gitea/gitea/issues/5158) | ✘ | ✓ | ✓ | ✓ | ✓ | ✘ |
| 限制某些使用者的 push 和 merge 限 | ✓ | ✘ | ✓ | | ✓ | ✓ | ✓ |
| 回退某些 commits 或 merge request | [](https://github.com/go-gitea/gitea/issues/5158) | ✘ | ✓ | ✓ | ✓ | ✓ | ✘ |
| Pull/Merge requests 模板 | ✓ | ✓ | ✓ | ✓ | ✓ | ✘ | ✘ |
| 查看 Cherry-picking 的更改 | [](https://github.com/go-gitea/gitea/issues/5158) | ✘ | ✘ | ✓ | ✓ | ✘ | ✘ |
| 下 Patch | ✓ | ✘ | ✓ | ✓ | ✓ | [/](https://jira.atlassian.com/plugins/servlet/mobile#issue/BCLOUD-8323) | ✘ |
| 下 Patch | ✓ | ✘ | ✓ | ✓ | ✓ | [/](https://jira.atlassian.com/plugins/servlet/mobile#issue/BCLOUD-8323) | ✘ |
| Merge queues | ✘ | ✘ | ✓ | ✘ | ✓ | ✘ | ✘ |
#### 第三方集成
#### 第三方整合
| 特性 | Gitea | Gogs | GitHub EE | GitLab CE | GitLab EE | BitBucket | RhodeCode CE |
| -------------------------- | -------------------------------------------------- | --------------------------------------------- | --------- | --------- | --------- | --------- | ------------ |
| 支 Webhook | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| 自定义 Git 子 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| 集成 AD / LDAP | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| 支持多个 LDAP / AD 服 | ✓ | ✓ | ✘ | ✘ | ✓ | ✓ | ✓ |
| LDAP 用户同步 | ✓ | ✘ | ✓ | ✓ | ✓ | ✓ | ✓ |
| 支 Webhook | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| 自 Git 子 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| 整合 AD / LDAP | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| 支援多個 LDAP / AD 服 | ✓ | ✓ | ✘ | ✘ | ✓ | ✓ | ✓ |
| LDAP 使用者同步 | ✓ | ✘ | ✓ | ✓ | ✓ | ✓ | ✓ |
| SAML 2.0 service provider | [](https://github.com/go-gitea/gitea/issues/5512) | [](https://github.com/gogs/gogs/issues/1221) | ✓ | ✓ | ✓ | ✓ | ✘ |
| 支 OpenId 接 | ✓ | ✘ | ✓ | ✓ | ✓ | ? | ✘ |
| 集成 OAuth 2.0(外部授 | ✓ | ✘ | | ✓ | ✓ | ? | ✓ |
| 作 OAuth 2.0 provider | [](https://github.com/go-gitea/gitea/pull/5378) | ✘ | ✓ | ✓ | ✓ | ✓ | ✘ |
| 二次验证 (2FA) | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✘ |
| 集成 Mattermost/Slack | ✓ | ✓ | | ✓ | ✓ | | ✓ |
| 集成 Discord | ✓ | ✓ | ✓ | ✓ | ✓ | ✘ | ✘ |
| 集成 Microsoft Teams | ✓ | ✘ | ✓ | ✓ | ✓ | ✓ | ✘ |
| 示外部 CI/CD 的状态 | ✓ | ✘ | ✓ | ✓ | ✓ | ✓ | ✓ |
| 支 OpenId 接 | ✓ | ✘ | ✓ | ✓ | ✓ | ? | ✘ |
| 整合 OAuth 2.0(外部授 | ✓ | ✘ | | ✓ | ✓ | ? | ✓ |
| 作 OAuth 2.0 provider | [](https://github.com/go-gitea/gitea/pull/5378) | ✘ | ✓ | ✓ | ✓ | ✓ | ✘ |
| 二次驗證 (2FA) | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✘ |
| 整合 Mattermost/Slack | ✓ | ✓ | | ✓ | ✓ | | ✓ |
| 整合 Discord | ✓ | ✓ | ✓ | ✓ | ✓ | ✘ | ✘ |
| 整合 Microsoft Teams | ✓ | ✘ | ✓ | ✓ | ✓ | ✓ | ✘ |
| 示外部 CI/CD 的狀態 | ✓ | ✘ | ✓ | ✓ | ✓ | ✓ | ✓ |
[gitea-caddy-plugin]: https://github.com/42wim/caddy-gitea
[gitea-pages-server]: https://codeberg.org/Codeberg/pages-server

View File

@@ -6,190 +6,190 @@ aliases:
- /zh-tw/database-prep
---
# 数据库准备
# 資料庫準備
在使用 Gitea 前,您需要准备一个数据库。Gitea 支 PostgreSQL>= 12、MySQL>= 8.0、MariaDB>= 10.4、SQLite置) 和 MSSQL>= 2012 SP4这几种数据库。本页将指导您准备数据库。由 PostgreSQL 和 MySQL 在生产环境中被广泛使用,因此本文档将仅涵盖这两种数据库。如果您计划使用 SQLite可以忽略本章容。
在使用 Gitea 前,您需要準備一個資料庫。Gitea 支 PostgreSQL>= 12、MySQL>= 8.0、MariaDB>= 10.4、SQLite置) 和 MSSQL>= 2012 SP4這幾種資料庫。本頁將指導您準備資料庫。由 PostgreSQL 和 MySQL 在生產環境中被泛使用,因此本文件將僅涵蓋這兩種資料庫。如果您計劃使用 SQLite可以忽略本章容。
如果您使用不受支持的数据库版本,请通过 [联系我们](/help/support) 以取有关我们的扩展支持的信息。我可以为旧数据库提供测试和支持,并将这些修复集成到 Gitea 代码库中。
如果您使用不受支援的資料庫版本,請通過 [聯繫我們](/help/support) 以取有關我們的擴展支援的資訊。我可以爲舊資料庫提供測試和支援,並將這些修復整合到 Gitea 程式碼庫中。
数据库实例可以 Gitea 例在相同器上(本地数据库),也可以 Gitea 例在不同器上(远程数据库)。
資料庫實例可以 Gitea 例在相同器上(本地資料庫),也可以 Gitea 例在不同器上(遠程資料庫)。
注意:以下所有步要求您的选择的数据库引擎已安在您的系上。对于远程数据库设置,请在数据库实例上安装服务器应用程,在 Gitea 服器上安装客户端程。客端程序用于测试 Gitea 服务器与数据库之间的连接,而 Gitea 本身使用 Go 提供的数据库驱动程序完成相同的任。此外,请确保服务器和客端使用相同的引擎版本,以使某些引擎功能正常工作。出安全原因,使用安全密码保护 `root`MySQL`postgres`PostgreSQL数据库超级用户。以下步骤假设您在数据库和 Gitea 服器上都使用 Linux。
注意:以下所有步要求您的選擇的資料庫引擎已安在您的系上。對於遠程資料庫設定,請在資料庫實例上安裝伺服器應用程,在 Gitea 服器上安裝客戶端程。客端程式用於測試 Gitea 伺服器與資料庫之間的連接,而 Gitea 本身使用 Go 提供的資料庫驅動程式完成相同的任。此外,請確保伺服器和客端使用相同的引擎版本,以使某些引擎功能正常工作。出安全原因,使用安全密碼保護 `root`MySQL`postgres`PostgreSQL資料庫超級使用者。以下步驟假設您在資料庫和 Gitea 服器上都使用 Linux。
## MySQL/MariaDB
1. 对于远程数据库设置,您需要 MySQL 监听您的 IP 地址。编辑数据库实例上的 `/etc/mysql/my.cnf` 文件中的 `bind-address` 选项为
1. 對於遠程資料庫設定,您需要 MySQL 監聽您的 IP 地址。編輯資料庫實例上的 `/etc/mysql/my.cnf` 文件中的 `bind-address` 選項爲
```ini
bind-address = 203.0.113.3
```
2. 在数据库实例上,使用 `root` 用户登录到数据库控制
2. 在資料庫實例上,使用 `root` 使用者登入到資料庫控制
```
mysql -u root -p
```
按提示入密
按提示入密
3. 创建一个将被 Gitea 使用的数据库用户,并使用密码进行身份验证。以下例中使用了 `'gitea'` 作为密码。请为您的例使用一安全密
3. 建立一個將被 Gitea 使用的資料庫使用者,並使用密碼進行身份驗證。以下例中使用了 `'gitea'` 作爲密碼。請爲您的例使用一安全密
对于本地数据库
對於本地資料庫
```sql
SET old_passwords=0;
CREATE USER 'gitea' IDENTIFIED BY 'gitea';
```
对于远程数据库
對於遠程資料庫
```sql
SET old_passwords=0;
CREATE USER 'gitea'@'192.0.2.10' IDENTIFIED BY 'gitea';
```
其中 `192.0.2.10` 是您的 Gitea 例的 IP 地址。
其中 `192.0.2.10` 是您的 Gitea 例的 IP 地址。
需要替上述用户名和密
需要替上述使用者名稱和密
4. 使用 UTF-8 字符集和大小敏感的排序规则创建数据库
4. 使用 UTF-8 字符集和大小敏感的排序規則建立資料庫
`utf8mb4_bin` 是 MySQL/MariaDB 的通用排序规则
Gitea 启动后会尝试把数据库修改更合的字符集 (`utf8mb4_0900_as_cs` 或者 `uca1400_as_cs`) 在可能的情下更改数据库
如果你想指定自己的字符集规则,可以在 `app.ini` 中设置 `[database].CHARSET_COLLATION`。
`utf8mb4_bin` 是 MySQL/MariaDB 的通用排序規則
Gitea 啟動後會嘗試把資料庫修改更合的字符集 (`utf8mb4_0900_as_cs` 或者 `uca1400_as_cs`) 在可能的情下更改資料庫
如果你想指定自己的字符集規則,可以在 `app.ini` 中設定 `[database].CHARSET_COLLATION`。
```sql
CREATE DATABASE giteadb CHARACTER SET 'utf8mb4' COLLATE 'utf8mb4_bin';
```
需要替换数据库名称
需要替換資料庫名稱
5. 将数据库上的所有限授予上述创建的数据库用户
5. 將資料庫上的所有限授予上述建立的資料庫使用者
对于本地数据库
對於本地資料庫
```sql
GRANT ALL PRIVILEGES ON giteadb.* TO 'gitea';
FLUSH PRIVILEGES;
```
对于远程数据库
對於遠程資料庫
```sql
GRANT ALL PRIVILEGES ON giteadb.* TO 'gitea'@'192.0.2.10';
FLUSH PRIVILEGES;
```
6. 通 `exit` 退出数据库控制
6. 通 `exit` 退出資料庫控制
7. 在您的 Gitea 服器上,测试与数据库的连接:
7. 在您的 Gitea 服器上,測試與資料庫的連接:
```
mysql -u gitea -h 203.0.113.3 -p giteadb
```
其中 `gitea` 是数据库用户名`giteadb` 是数据库名称`203.0.113.3` 是数据库实例的 IP 地址。对于本地数据库,省略 `-h` 选项
其中 `gitea` 是資料庫使用者名稱`giteadb` 是資料庫名稱`203.0.113.3` 是資料庫實例的 IP 地址。對於本地資料庫,省略 `-h` 選項
到此您应该能够连接到数据库了。
到此您應該能夠連接到資料庫了。
## PostgreSQL
1. 对于远程数据库设置,通过编辑数据库实例上的 postgresql.conf 文件中的 `listen_addresses` `PostgreSQL` 配置为监听您的 IP 地址:
1. 對於遠程資料庫設定,通過編輯資料庫實例上的 postgresql.conf 文件中的 `listen_addresses` `PostgreSQL` 設定爲監聽您的 IP 地址:
```ini
listen_addresses = 'localhost, 203.0.113.3'
```
2. PostgreSQL 默认使用 `md5` 质询-响应加密方案行密身份验证。现在这个方案不再被认为是安全的。改用 SCRAM-SHA-256 方案,通过编辑数据库服务器上的` postgresql.conf` 配置文件:
2. PostgreSQL 預設使用 `md5` 質詢-響應加密方案行密身份驗證。現在這個方案不再被認爲是安全的。改用 SCRAM-SHA-256 方案,通過編輯資料庫伺服器上的` postgresql.conf` 設定文件:
```ini
password_encryption = scram-sha-256
```
PostgreSQL 以应用该设置
PostgreSQL 以應用該設定
3. 在数据库服务器上,以超级用户身份登录到数据库控制
3. 在資料庫伺服器上,以超級使用者身份登入到資料庫控制
```
su -c "psql" - postgres
```
4. 建具有登录权限和密码的数据库用户(在 PostgreSQL 术语中称为角色)。使用安全的、强密码,而不是下面的 `'gitea'`
4. 建具有登入權限和密碼的資料庫使用者(在 PostgreSQL 術語中稱爲角色)。使用安全的、強密碼,而不是下面的 `'gitea'`
```sql
CREATE ROLE gitea WITH LOGIN PASSWORD 'gitea';
```
需要替换用户名和密
需要替換使用者名稱和密
5. 使用 UTF-8 字符集创建数据库,并由之前创建的数据库用户拥有。可以根据预期内容使用任何 `libc` 排序规则,使用 `LC_COLLATE` 和 `LC_CTYPE` 参数指定:
5. 使用 UTF-8 字符集建立資料庫,並由之前建立的資料庫使用者擁有。可以根據預期內容使用任何 `libc` 排序規則,使用 `LC_COLLATE` 和 `LC_CTYPE` 參數指定:
```sql
CREATE DATABASE giteadb WITH OWNER gitea TEMPLATE template0 ENCODING UTF8 LC_COLLATE 'en_US.UTF-8' LC_CTYPE 'en_US.UTF-8';
```
需要替换数据库名称
需要替換資料庫名稱
6. 通过将以下身份验证规则添加到 `pg_hba.conf`,允许数据库用户访问上面创建的数据库
6. 通過將以下身份驗證規則添加到 `pg_hba.conf`,允許資料庫使用者訪問上面建立的資料庫
对于本地数据库
對於本地資料庫
```ini
local giteadb gitea scram-sha-256
```
对于远程数据库
對於遠程資料庫
```ini
host giteadb gitea 192.0.2.10/32 scram-sha-256
```
您自己的数据库名称、用户和 Gitea 例的 IP 地址行替
您自己的資料庫名稱、使用者和 Gitea 例的 IP 地址行替
注意:`pg_hba.conf` 上的规则按顺序评估,也就是第一匹配的规则将用于身份验证。您的 PostgreSQL 安可能附带了适用于所有用户和数据库的通用身份验证规则。如果是这种情况,您可能需要将此处提供的规则放置在此通用规则之上。
注意:`pg_hba.conf` 上的規則按順序評估,也就是第一匹配的規則將用於身份驗證。您的 PostgreSQL 安可能附帶了適用於所有使用者和資料庫的通用身份驗證規則。如果是這種情況,您可能需要將此處提供的規則放置在此通用規則之上。
PostgreSQL 以用新的身份验证规则
PostgreSQL 以用新的身份驗證規則
7. 在您的 Gitea 服器上,测试与数据库的连接。
7. 在您的 Gitea 服器上,測試與資料庫的連接。
对于本地数据库
對於本地資料庫
```
psql -U gitea -d giteadb
```
对于远程数据库
對於遠程資料庫
```
psql "postgres://gitea@203.0.113.3/giteadb"
```
其中 `gitea` 是数据库用户`giteadb` 是数据库名称`203.0.113.3` 是您的数据库实例的 IP 地址。
其中 `gitea` 是資料庫使用者`giteadb` 是資料庫名稱`203.0.113.3` 是您的資料庫實例的 IP 地址。
应该会被提示输入数据库用户的密码,并连接到数据库
應該會被提示輸入資料庫使用者的密碼,並連接到資料庫
## 使用 TLS 进行数据库连
## 使用 TLS 進行資料庫連
如果 Gitea 和您的数据库实例之的通信是通私有网络进行的,或者如果 Gitea 和数据库运行在同一台服务器上,那可以省略本,因 Gitea 和数据库实例之的安全性不受到重威。但是,如果数据库实例位公共网络上,使用 TLS 对数据库连接进行加密,以防止第三方截流量数据
如果 Gitea 和您的資料庫實例之的通信是通私有網路進行的,或者如果 Gitea 和資料庫運行在同一臺伺服器上,那可以省略本,因 Gitea 和資料庫實例之的安全性不受到重威。但是,如果資料庫實例位公共網路上,使用 TLS 對資料庫連接進行加密,以防止第三方截流量資料
### 先决条
### 先決條
- 您需要两个有效的 TLS 证书,一个用于数据库实例(数据库服务器),一个用于 Gitea 例(数据库客户端)。两个证书都必由受信任的 CA 名。
- 数据库证书必须在 `X509v3 Extended Key Usage` 扩展属性中包含 `TLS Web Server Authentication`,而客户端证书则需要在相应的属性中包含 `TLS Web Client Authentication`。
- 在数据库服务器证书中,`Subject Alternative Name` 或 `Common Name` 目之一必须是数据库实例的完全限定域名FQDN例如 `db.example.com`)。在数据库客户端证书中,上述提到的目之一必包含 Gitea 将用于连接的数据库用户名
- 您需要 Gitea 和数据库服务器的域名映射到它各自的 IP 地址。可以为它们设置 DNS 记录,也可以在每个系统上的 `/etc/hosts`Windows 中的 `%WINDIR%\System32\drivers\etc\hosts`)中添加本地映射。这样可以通过域名而不是 IP 地址进行数据库连接。有关详细信息,请参阅您系的文
- 您需要兩個有效的 TLS 證書,一個用於資料庫實例(資料庫伺服器),一個用於 Gitea 例(資料庫客戶端)。兩個證書都必由受信任的 CA 名。
- 資料庫證書必須在 `X509v3 Extended Key Usage` 擴展屬性中包含 `TLS Web Server Authentication`,而客戶端證書則需要在相應的屬性中包含 `TLS Web Client Authentication`。
- 在資料庫伺服器證書中,`Subject Alternative Name` 或 `Common Name` 目之一必須是資料庫實例的完全限定域名FQDN例如 `db.example.com`)。在資料庫客戶端證書中,上述提到的目之一必包含 Gitea 將用於連接的資料庫使用者名稱
- 您需要 Gitea 和資料庫伺服器的域名映射到它各自的 IP 地址。可以爲它們設定 DNS 記錄,也可以在每個系統上的 `/etc/hosts`Windows 中的 `%WINDIR%\System32\drivers\etc\hosts`)中添加本地映射。這樣可以透過域名而不是 IP 地址進行資料庫連接。有關詳細資訊,請參閱您系的文
### PostgreSQL TLS
Gitea 使用的 PostgreSQL 驱动程序支持双向 TLS。在向 TLS 中,数据库客户端和服务器通过将各自的证书发送给对方进行验证来相互认证。换句话说,服务器验证客户端证书,客户端验证服务器证书
Gitea 使用的 PostgreSQL 驅動程式支援雙向 TLS。在向 TLS 中,資料庫客戶端和伺服器通過將各自的證書發送給對方進行驗證來相互認證。換句話說,伺服器驗證客戶端證書,客戶端驗證伺服器證書
1. 在数据库实例所在的服器上,放置以下凭据
1. 在資料庫實例所在的服器上,放置以下憑據
- `/path/to/postgresql.crt`: 数据库实例证书
- `/path/to/postgresql.key`: 数据库实例私
- `/path/to/root.crt`: 用于验证客户端证书的 CA 证书链
- `/path/to/postgresql.crt`: 資料庫實例證書
- `/path/to/postgresql.key`: 資料庫實例私
- `/path/to/root.crt`: 用於驗證客戶端證書的 CA 證書鏈
2. 在 `postgresql.conf` 中添加以下选项
2. 在 `postgresql.conf` 中添加以下選項
```ini
ssl = on
@@ -199,67 +199,67 @@ Gitea 使用的 PostgreSQL 驱动程序支持双向 TLS。在双向 TLS 中,
ssl_min_protocol_version = 'TLSv1.2'
```
3. 根 PostgreSQL 的要求,调整凭据的所有权和权限:
3. 根 PostgreSQL 的要求,調整憑據的所有權和權限:
```
chown postgres:postgres /path/to/root.crt /path/to/postgresql.crt /path/to/postgresql.key
chmod 0600 /path/to/root.crt /path/to/postgresql.crt /path/to/postgresql.key
```
4. 编辑 `pg_hba.conf` 规则,仅允许 Gitea 数据库用户通过 SSL 接,要求客户端证书验证
4. 編輯 `pg_hba.conf` 規則,僅允許 Gitea 資料庫使用者通過 SSL 接,要求客戶端證書驗證
对于 PostgreSQL 12
對於 PostgreSQL 12
```ini
hostssl giteadb gitea 192.0.2.10/32 scram-sha-256 clientcert=verify-full
```
对于 PostgreSQL 11 及更早版本:
對於 PostgreSQL 11 及更早版本:
```ini
hostssl giteadb gitea 192.0.2.10/32 scram-sha-256 clientcert=1
```
需要替换数据库名称、用户和 Gitea 例的 IP 地址。
需要替換資料庫名稱、使用者和 Gitea 例的 IP 地址。
5. 重新启动 PostgreSQL 以用上述配置
5. 重新啟動 PostgreSQL 以用上述設定
6. 在行 Gitea 例的服器上,以下凭据放置在行 Gitea 的用户的主目下(例如 `git`
6. 在行 Gitea 例的服器上,以下憑據放置在行 Gitea 的使用者的主目下(例如 `git`
- `~/.postgresql/postgresql.crt`: 数据库客户端证书
- `~/.postgresql/postgresql.key`: 数据库客户端私
- `~/.postgresql/root.crt`: 用于验证服务器证书的 CA 证书链
- `~/.postgresql/postgresql.crt`: 資料庫客戶端證書
- `~/.postgresql/postgresql.key`: 資料庫客戶端私
- `~/.postgresql/root.crt`: 用於驗證伺服器證書的 CA 證書鏈
注意:上述文件名在 PostgreSQL 中是硬编码的,法更改。
注意:上述文件名在 PostgreSQL 中是硬編碼的,法更改。
7. 根需要调整凭据、所有权和权限:
7. 根需要調整憑據、所有權和權限:
```
chown git:git ~/.postgresql/postgresql.crt ~/.postgresql/postgresql.key ~/.postgresql/root.crt
chown 0600 ~/.postgresql/postgresql.crt ~/.postgresql/postgresql.key ~/.postgresql/root.crt
```
8. 测试与数据库的连接:
8. 測試與資料庫的連接:
```
psql "postgres://gitea@example.db/giteadb?sslmode=verify-full"
```
被提示输入数据库用户的密,然后连接到数据库
被提示輸入資料庫使用者的密,然後連接到資料庫
### MySQL/MariaDB TLS
然 Gitea 使用的 MySQL 驱动程序也支持双向 TLS但目前 Gitea 仅支持单向 TLS。有关详细信息,请参见工单10828。
然 Gitea 使用的 MySQL 驅動程式也支援雙向 TLS但目前 Gitea 僅支援單向 TLS。有關詳細資訊,請參見工單10828。
向 TLS 中,数据库客户端在接握手期间验证服务器发送的证书,而服务器则假定接的客端是合法的,因为不进行客户端证书验证
向 TLS 中,資料庫客戶端在接握手期間驗證伺服器發送的證書,而伺服器則假定接的客端是合法的,因爲不進行客戶端證書驗證
1. 在数据库实例上放置以下凭据
1. 在資料庫實例上放置以下憑據
- `/path/to/mysql.crt`: 数据库实例证书
- `/path/to/mysql.key`: 数据库实例密
- `/path/to/ca.crt`: CA 证书链。在向 TLS 中不使用此文件,但用于验证双向 TLS 中的客户端证书
- `/path/to/mysql.crt`: 資料庫實例證書
- `/path/to/mysql.key`: 資料庫實例密
- `/path/to/ca.crt`: CA 證書鏈。在向 TLS 中不使用此文件,但用於驗證雙向 TLS 中的客戶端證書
2. 以下选项添加到 `my.cnf`
2. 以下選項添加到 `my.cnf`
```ini
[mysqld]
@@ -269,16 +269,16 @@ Gitea 使用的 PostgreSQL 驱动程序支持双向 TLS。在双向 TLS 中,
tls-version = TLSv1.2,TLSv1.3
```
3. 调整凭据的所有权和权限:
3. 調整憑據的所有權和權限:
```
chown mysql:mysql /path/to/ca.crt /path/to/mysql.crt /path/to/mysql.key
chmod 0600 /path/to/ca.crt /path/to/mysql.crt /path/to/mysql.key
```
4. 重新启动 MySQL 以应用设置
4. 重新啟動 MySQL 以應用設定
5. Gitea 的数据库用户可能已经创建过,但只会对运行 Gitea 的服器的 IP 地址行身份验证。要其域名行身份验证,请重新创建用户,并设置其需要通 TLS 接到数据库
5. Gitea 的資料庫使用者可能已經建立過,但只會對運行 Gitea 的服器的 IP 地址行身份驗證。要其域名行身份驗證,請重新建立使用者,並設定其需要通 TLS 接到資料庫
```sql
DROP USER 'gitea'@'192.0.2.10';
@@ -287,14 +287,14 @@ Gitea 使用的 PostgreSQL 驱动程序支持双向 TLS。在双向 TLS 中,
FLUSH PRIVILEGES;
```
需要替换数据库用户名、密和 Gitea 例域名。
需要替換資料庫使用者名稱、密和 Gitea 例域名。
6. 保用于验证数据库服务器证书的 CA 证书链位于数据库和 Gitea 服器的系统证书存储中。请参考系统文档中有关将 CA 证书添加到证书存储的说明。
6. 保用於驗證資料庫伺服器證書的 CA 證書鏈位於資料庫和 Gitea 服器的系統證書儲存中。請參考系統文件中有關將 CA 證書添加到證書儲存的說明。
7. 在行 Gitea 的服器上,测试与数据库的连接:
7. 在行 Gitea 的服器上,測試與資料庫的連接:
```
mysql -u gitea -h example.db -p --ssl
```
至此应该成功接到数据库了。
至此應該成功接到資料庫了。

View File

@@ -6,59 +6,59 @@ aliases:
- /zh-tw/install-from-binary
---
# 使用二制文件安
# 使用二制文件安
所有打包的二制程均包含 SQLiteMySQL 和 PostgreSQL 的数据库连接支,同时网站的静态资源均已嵌入到可行程中,这一点和曾的 Gogs 有所不同。
所有打包的二制程均包含 SQLiteMySQL 和 PostgreSQL 的資料庫連接支,同時網站的靜態資源均已嵌入到可行程中,這一點和曾的 Gogs 有所不同。
## 下
## 下
你可以 [载页](https://dl.gitea.com/gitea/) 选择对应平台的二制文件。
你可以 [載頁](https://dl.gitea.com/gitea/) 選擇對應平台的二制文件。
### 选择架构
### 選擇架構
- **对于 Linux**`linux-amd64` 适用于 64-bit 的 Intel/AMD 平台。更多架包含 `arm64` (Raspberry PI 4)`386` (32-bit)`arm-5` 以及 `arm-6`
- **對於 Linux**`linux-amd64` 適用於 64-bit 的 Intel/AMD 平台。更多架包含 `arm64` (Raspberry PI 4)`386` (32-bit)`arm-5` 以及 `arm-6`
- **对于 Windows**`windows-4.0-amd64` 适用于 64-bit 的 Intel/AMD 平台,`386` 适用于 32-bit 的 Intel/AMD 平台。(提示:`gogit-windows` 版本建了 gogit 可能解在的 Windows 平台上 Go 程序调用 git 子程序时面临的 [性能问题](https://github.com/go-gitea/gitea/pull/15482)
- **對於 Windows**`windows-4.0-amd64` 適用於 64-bit 的 Intel/AMD 平台,`386` 適用於 32-bit 的 Intel/AMD 平台。(提示:`gogit-windows` 版本建了 gogit 可能解在的 Windows 平台上 Go 程式調用 git 子程式時面臨的 [性能問題](https://github.com/go-gitea/gitea/pull/15482)
- **对于 macOS**`darwin-arm64` 适用于 Apple Silicon 架`darwin-amd64` 适用于 Intel 架.
- **對於 macOS**`darwin-arm64` 適用於 Apple Silicon 架`darwin-amd64` 適用於 Intel 架.
- **对于 FreeBSD**`freebsd12-amd64` 适用于 64-bit 的 Intel/AMD 平台。
- **對於 FreeBSD**`freebsd12-amd64` 適用於 64-bit 的 Intel/AMD 平台。
### 使用 wget 下
### 使用 wget 下
使用以下命令下载适用于 64-bit Linux 平台的二制文件。
使用以下命令下載適用於 64-bit Linux 平台的二制文件。
```sh
wget -O gitea https://dl.gitea.com/gitea/@version@/gitea-@version@-linux-amd64
chmod +x gitea
```
## 验证 GPG
## 驗證 GPG
Gitea 打包的二制文件使用 [GPG 密](https://keys.openpgp.org/search?q=teabot%40gitea.io) 名以防止篡改。
请根据对应文件名 `.asc` 中包含的校验码检验文件的一致性。
Gitea 打包的二制文件使用 [GPG 密](https://keys.openpgp.org/search?q=teabot%40gitea.io) 名以防止篡改。
請根據對應文件名 `.asc` 中包含的校驗碼檢驗文件的一致性。
```sh
gpg --keyserver hkps://keys.openpgp.org --recv 7C9E68152594688862D62AF62D9AE806EC1592E2
gpg --verify gitea-@version@-linux-amd64.asc gitea-@version@-linux-amd64
```
验正确时的信息为 `Good signature from "Teabot <teabot@gitea.io>"`
验错误时的信息为 `This key is not certified with a trusted signature!`
驗正確時的資訊爲 `Good signature from "Teabot <teabot@gitea.io>"`
驗錯誤時的資訊爲 `This key is not certified with a trusted signature!`
## 服务器设置
## 伺服器設定
**提示:** `GITEA_WORK_DIR` 表示 Gitea 工作的路。以下路可以通过 [环境变](../administration/environment-variables.md) 初始化。
**提示:** `GITEA_WORK_DIR` 表示 Gitea 工作的路。以下路可以透過 [環境變](../administration/environment-variables.md) 初始化。
### 准备环
### 準備環
查是否安 Git。要求 Git 版本 >= 2.0。
查是否安 Git。要求 Git 版本 >= 2.0。
```sh
git --version
```
创建用户(推使用名 `git`
建立使用者(推使用名 `git`
```sh
# On Ubuntu/Debian:
@@ -83,7 +83,7 @@ adduser \
git
```
### 建工作路
### 建工作路
```sh
mkdir -p /var/lib/gitea/{custom,data,log}
@@ -94,112 +94,112 @@ chown root:git /etc/gitea
chmod 770 /etc/gitea
```
> **注意:** 为了让 Web 安装程序可以写入配置文件,我们临时为 `/etc/gitea` 路授予了组外用户 `git` 写入权限。建在安装结束后将配置文件的权限设置为只读
> **注意:** 爲了讓 Web 安裝程式可以寫入設定文件,我們臨時爲 `/etc/gitea` 路授予了組外使用者 `git` 寫入權限。建在安裝結束後將設定文件的權限設定爲只讀
>
> ```sh
> chmod 750 /etc/gitea
> chmod 640 /etc/gitea/app.ini
> ```
如果您不希望通 Web 安装程序创建配置文件,可以将配置文件设置为仅供 Gitea 用户只读owner/group `root:git`, mode `0640`手工创建配置文件:
如果您不希望通 Web 安裝程式建立設定文件,可以將設定文件設定爲僅供 Gitea 使用者只讀owner/group `root:git`, mode `0640`手工建立設定文件:
- 设置 `INSTALL_LOCK=true` 关闭安装界
-动配置数据库连接参数
- 使用 `gitea generate secret` `SECRET_KEY``INTERNAL_TOKEN`
- 提供所有必要的密
- 設定 `INSTALL_LOCK=true` 關閉安裝介
-動設定資料庫連接參數
- 使用 `gitea generate secret` `SECRET_KEY``INTERNAL_TOKEN`
- 提供所有必要的密
详情参考 [命令行文](../administration/command-line.md) 中有 `gitea generate secret`容。
詳情參考 [命令行文](../administration/command-line.md) 中有 `gitea generate secret`容。
### 配置 Gitea 工作路
### 設定 Gitea 工作路
**提示:** 如果使用 Systemd 管理 Gitea 的 Linux 服,你可以`WorkingDirectory` 参数来配置工作路。 否,使用环境变`GITEA_WORK_DIR` 来明确指出程工作和数据存放路
**提示:** 如果使用 Systemd 管理 Gitea 的 Linux 服,你可以`WorkingDirectory` 參數來設定工作路。 否,使用環境變`GITEA_WORK_DIR` 來明確指出程工作和資料存放路
```sh
export GITEA_WORK_DIR=/var/lib/gitea/
```
### 复制二进制文件到全位置
### 複製二進制文件到全位置
```sh
cp gitea /usr/local/bin/gitea
```
### 添加 bash/zsh 自动补全( 1.19 版本始)
### 添加 bash/zsh 自動補全( 1.19 版本始)
可以在 [`contrib/autocompletion/bash_autocomplete`](https://raw.githubusercontent.com/go-gitea/gitea/main/contrib/autocompletion/bash_autocomplete) 找到用 bash 自动补全的本。可以将其复制`/usr/share/bash-completion/completions/gitea`,或在 `.bashrc` 中引用。
可以在 [`contrib/autocompletion/bash_autocomplete`](https://raw.githubusercontent.com/go-gitea/gitea/main/contrib/autocompletion/bash_autocomplete) 找到用 bash 自動補全的本。可以將其複製`/usr/share/bash-completion/completions/gitea`,或在 `.bashrc` 中引用。
zsh 自动补全的本可以在 [`contrib/autocompletion/zsh_autocomplete`](https://raw.githubusercontent.com/go-gitea/gitea/main/contrib/autocompletion/zsh_autocomplete) 找到。您可以将其复制`/usr/share/zsh/_gitea`,或在您的 `.zshrc` 中引用。
zsh 自動補全的本可以在 [`contrib/autocompletion/zsh_autocomplete`](https://raw.githubusercontent.com/go-gitea/gitea/main/contrib/autocompletion/zsh_autocomplete) 找到。您可以將其複製`/usr/share/zsh/_gitea`,或在您的 `.zshrc` 中引用。
体情况可能有所不同,这些脚本可能需要一步的改
體情況可能有所不同,這些腳本可能需要一步的改
## 行 Gitea
## 行 Gitea
完成以上步骤后,可以通过两种方式行 Gitea
完成以上步驟後,可以透過兩種方式行 Gitea
### 1. 创建服务自动启动 Gitea
### 1. 建立服務自動啟動 Gitea
学习创建 [Linux 服](installation/run-as-service-in-ubuntu.md)
學習建立 [Linux 服](installation/run-as-service-in-ubuntu.md)
### 2. 通命令行终端运
### 2. 通命令行終端運
```sh
GITEA_WORK_DIR=/var/lib/gitea/ /usr/local/bin/gitea web -c /etc/gitea/app.ini
```
## 升到最新版本
## 升到最新版本
您可以通过停止程,替 `/usr/local/bin/gitea` 并重启来更新到新版本。直接替换可执行程序时不要更改或使用新的文件名,以避免数据出错
您可以透過停止程,替 `/usr/local/bin/gitea` 並重啟來更新到新版本。直接替換可執行程式時不要更改或使用新的文件名,以避免資料出錯
您在更新之前行[](../administration/backup-and-restore.md)。
您在更新之前行[](../administration/backup-and-restore.md)。
如果您按照上述描述行了安装步骤,二制文件的通用名称应为 gitea。勿更改此名,即不要包含版本
如果您按照上述描述行了安裝步驟,二制文件的通用名稱應爲 gitea。勿更改此名,即不要包含版本
### 1. 使用 systemd 重新启动 Gitea
### 1. 使用 systemd 重新啟動 Gitea
们建议使用 systemd 作为服务管理器,使用 `systemctl restart gitea` 安全地重启程序
們建議使用 systemd 作爲服務管理器,使用 `systemctl restart gitea` 安全地重啟程式
### 2. 非 systemd 重方法
### 2. 非 systemd 重方法
使用 SIGHUP 信号关闭程序:查到 Gitea 程的 PID使用 `kill -1 $GITEA_PID`,或者 `killall -1 gitea`
使用 SIGHUP 信號關閉程式:查到 Gitea 程的 PID使用 `kill -1 $GITEA_PID`,或者 `killall -1 gitea`
雅的停止指令可能包括 `kill $GITEA_PID` 或者 `killall gitea`
雅的停止指令可能包括 `kill $GITEA_PID` 或者 `killall gitea`
**提示:**不建使用 SIGKILL 信`-9`这会强制停止 Gitea 程,但不会正确关闭队列、索引器等任
**提示:**不建使用 SIGKILL 信`-9`這會強制停止 Gitea 程,但不會正確關閉隊列、索引器等任
请参阅下面的疑解答明,以在 Gitea 版本更新后修复损坏的仓库
請參閱下面的疑解答明,以在 Gitea 版本更新後修復損壞的儲存庫
## 排查故障
### 版 glibc
### 版 glibc
版 Linux 行版(例如 Debian 7 和 CentOS 6可能法加 Gitea 二制文件,通常会产生类似于 `./gitea: /lib/x86_64-linux-gnu/libc.so.6:
version 'GLIBC\_2.14' not found (required by ./gitea)`错误。这是由 dl.gitea.com 提供的二制文件中集成了 SQLite 支。在这种情况下,通常可以选择[从源代码安装](installation/from-source.md),而不包括 SQLite 支
版 Linux 行版(例如 Debian 7 和 CentOS 6可能法加 Gitea 二制文件,通常會產生類似於 `./gitea: /lib/x86_64-linux-gnu/libc.so.6:
version 'GLIBC\_2.14' not found (required by ./gitea)`錯誤。這是由 dl.gitea.com 提供的二制文件中整合了 SQLite 支。在這種情況下,通常可以選擇[從源程式碼安裝](installation/from-source.md),而不包括 SQLite 支
### 在另一端口上行 Gitea
### 在另一端口上行 Gitea
对于出现类似于 `702 runWeb()] [E] Failed to start server: listen tcp 0.0.0.0:3000:
bind: address already in use`错误,需要 Gitea 启动在另一个空闲端口上。您可以使用 `./gitea web -p $PORT` 来实现。可能已有另一 Gitea 例在行。
對於出現類似於 `702 runWeb()] [E] Failed to start server: listen tcp 0.0.0.0:3000:
bind: address already in use`錯誤,需要 Gitea 啓動在另一個空閒端口上。您可以使用 `./gitea web -p $PORT` 來實現。可能已有另一 Gitea 例在行。
### 在 Raspbian 上行 Gitea
### 在 Raspbian 上行 Gitea
v1.8 版本arm7 版本的 Gitea 存在问题,无法在莓派和类似设备上运行。
v1.8 版本arm7 版本的 Gitea 存在問題,無法在莓派和類似設備上運行。
议切换到 arm6 版本,版本经过测试并已被明可以在莓派和类似设备上运行。
議切換到 arm6 版本,版本經過測試並已被明可以在莓派和類似設備上運行。
### 更新到新版本的 Gitea 后出现的 Git 错误
### 更新到新版本的 Gitea 後出現的 Git 錯誤
如果在更新程中,二制文件的名已更改新版本的 Gitea则现有仓库中的 Git 钩子将不再起作用。在这种情况下,推送到仓库时,会显示 Git 错误
如果在更新程中,二制文件的名已更改新版本的 Gitea則現有儲存庫中的 Git 鉤子將不再起作用。在這種情況下,推送到儲存庫時,會顯示 Git 錯誤
```
remote: ./hooks/pre-receive.d/gitea: line 2: [...]: No such file or directory
```
错误信息中的 `[...]` 部分包含您先前 Gitea 二制文件的路
錯誤資訊中的 `[...]` 部分包含您先前 Gitea 二制文件的路
要解决此问题,请转到管理选项,并运行任 `Resynchronize pre-receive, update and post-receive hooks of all repositories`,以所有子更新包含新的二制文件路径。请注意,这将覆盖所有 Git 子,包括自定义的钩子。
要解決此問題,請轉到管理選項,並運行任 `Resynchronize pre-receive, update and post-receive hooks of all repositories`,以所有子更新包含新的二制文件路徑。請注意,這將覆蓋所有 Git 子,包括自訂的鉤子。
如果您有使用 Gitea 置的 SSH 服器,您需要通在管理选项中运行任 `Update the '.ssh/authorized_keys' file with Gitea SSH keys.` 重新编写授权密钥文件。
如果您有使用 Gitea 置的 SSH 服器,您需要通在管理選項中運行任 `Update the '.ssh/authorized_keys' file with Gitea SSH keys.` 重新編寫授權密鑰文件。
> 更多经验总结,请参考英文版 [Troubleshooting](https://docs.gitea.com/installation/install-from-binary#troubleshooting)
> 更多經驗總結,請參考英文版 [Troubleshooting](https://docs.gitea.com/installation/install-from-binary#troubleshooting)
如果从本页中没有找到你需要的容,请访问 [帮助页](help/support.md)
如果從本頁中沒有找到你需要的容,請前往 [幫助頁](help/support.md)

View File

@@ -6,23 +6,23 @@ aliases:
- /zh-tw/install-from-package
---
# 管理器安
# 套件管理器安
## 官方管理器
## 官方套件管理器
### macOS
macOS 平台下前我们仅支持通过 `brew` 来安装。如果你有安 [Homebrew](http://brew.sh/),你也可以查看 [从二进制安](installation/from-binary.md)。在你安`brew` 你可以行以下命令:
macOS 平台下前我們僅支援通過 `brew` 來安裝。如果你有安 [Homebrew](http://brew.sh/),你也可以查看 [從二進制安](installation/from-binary.md)。在你安`brew` 你可以行以下命令:
```
brew install gitea
```
## 非官方管理器
## 非官方套件管理器
### Alpine Linux
Gitea 已包含在 Alpine Linux 的[区存储库](https://pkgs.alpinelinux.org/packages?name=gitea&branch=edge)中,版本 Gitea 官方保持同步。
Gitea 已包含在 Alpine Linux 的[區儲存庫](https://pkgs.alpinelinux.org/packages?name=gitea&branch=edge)中,版本 Gitea 官方保持同步。
```sh
apk add gitea
@@ -30,7 +30,7 @@ apk add gitea
### Arch Linux
Gitea 已经在滚动发布发行版的官方[区存储库](https://www.archlinux.org/packages/community/x86_64/gitea/)中,版本 Gitea 官方保持同步。
Gitea 已經在滾動發佈發行版的官方[區儲存庫](https://www.archlinux.org/packages/community/x86_64/gitea/)中,版本 Gitea 官方保持同步。
```sh
pacman -S gitea
@@ -38,7 +38,7 @@ pacman -S gitea
### Arch Linux ARM
官方支 [aarch64](https://archlinuxarm.org/packages/aarch64/gitea) [armv7h](https://archlinuxarm.org/packages/armv7h/gitea) 和 [armv6h](https://archlinuxarm.org/packages/armv6h/gitea) 架
官方支 [aarch64](https://archlinuxarm.org/packages/aarch64/gitea) [armv7h](https://archlinuxarm.org/packages/armv7h/gitea) 和 [armv6h](https://archlinuxarm.org/packages/armv6h/gitea) 架
```sh
pacman -S gitea
@@ -46,7 +46,7 @@ pacman -S gitea
### Gentoo Linux
滚动发布的发行版在其官方社区软件仓库中提供了 [Gitea](https://packages.gentoo.org/packages/www-apps/gitea)并且会随着新的 Gitea 发布提供软件包更新。
滾動發佈的發行版在其官方社區軟件儲存庫中提供了 [Gitea](https://packages.gentoo.org/packages/www-apps/gitea)並且會隨着新的 Gitea 發佈提供套件更新。
```sh
emerge gitea -va
@@ -54,7 +54,7 @@ emerge gitea -va
### Canonical Snap
目前 Gitea 已在 Snap Store 中发布,名称为 [gitea](https://snapcraft.io/gitea)。
目前 Gitea 已在 Snap Store 中發佈,名稱爲 [gitea](https://snapcraft.io/gitea)。
```sh
snap install gitea
@@ -62,29 +62,29 @@ snap install gitea
### SUSE/openSUSE
OpenSUSE 建服务为 [openSUSE 和 SLE](https://software.opensuse.org/download/package?package=gitea&project=devel%3Atools%3Ascm)
提供包,你可以在开发软件配置管理存储库中找到它
OpenSUSE 建服務爲 [openSUSE 和 SLE](https://software.opensuse.org/download/package?package=gitea&project=devel%3Atools%3Ascm)
提供包,你可以在開發軟件設定管理儲存庫中找到它
### Windows
目前你可以通过 [Chocolatey](https://chocolatey.org/) 来安装 [Gitea](https://chocolatey.org/packages/gitea)。
目前你可以透過 [Chocolatey](https://chocolatey.org/) 來安裝 [Gitea](https://chocolatey.org/packages/gitea)。
```sh
choco install gitea
```
你也可以 [从二进制安](installation/from-binary.md) 。
你也可以 [從二進制安](installation/from-binary.md) 。
### FreeBSD
可以使用 Gitea 的 FreeBSD port `www/gitea`请安装预构建的二制包:
可以使用 Gitea 的 FreeBSD port `www/gitea`請安裝預構建的二制包:
```
pkg install gitea
```
对于最新版本,或使用自定义选项构建 port
[ port 安](https://www.freebsd.org/doc/handbook/ports-using.html)
對於最新版本,或使用自訂選項構建 port
[ port 安](https://www.freebsd.org/doc/handbook/ports-using.html)
```
su -
@@ -92,13 +92,13 @@ cd /usr/ports/www/gitea
make install clean
```
port 使用标准的 FreeBSD 文件系统布局:配置文件在 `/usr/local/etc/gitea`中,
模板、选项、插件和主`/usr/local/share/gitea`中,启动脚本在 `/usr/local/etc/rc.d/gitea`中。
port 使用標準的 FreeBSD 文件系統佈局:設定文件在 `/usr/local/etc/gitea`中,
模板、選項、外掛和主`/usr/local/share/gitea`中,啟動腳本在 `/usr/local/etc/rc.d/gitea`中。
要使 Gitea 作为服务运行,请运`sysrc gitea_enable=YES` 使用 `service gitea start` 命令启动它。
要使 Gitea 作爲服務運行,請運`sysrc gitea_enable=YES` 使用 `service gitea start` 命令啟動它。
### 其它
如果这里没有找到你喜欢的包管理器,可以使用 Gitea 第三方软件包。这里有一完整的列表: [awesome-gitea](https://gitea.com/gitea/awesome-gitea/src/branch/master/README.md#user-content-packages)。
如果這裏沒有找到你喜歡的套件管理器,可以使用 Gitea 第三方套件。這裏有一完整的列表: [awesome-gitea](https://gitea.com/gitea/awesome-gitea/src/branch/master/README.md#user-content-packages)。
如果你知道其他 Gitea 第三方软件包,请发送 PR 添加它。
如果你知道其他 Gitea 第三方套件,請發送 PR 添加它。

View File

@@ -6,40 +6,40 @@ aliases:
- /zh-tw/install-from-source
---
# 使用源代码安装
# 使用源程式碼安裝
你需要 [ Go](https://golang.google.cn/doc/install) 并正确设置 Go 境。特的,建议设置`$GOPATH`环境变量,并将 Go 的二制目或目`${GOPATH//://bin:}/bin`添加到`$PATH`中。请参阅 Go 百科上关于 [GOPATH](https://github.com/golang/go/wiki/GOPATH) 的词条
你需要 [ Go](https://golang.google.cn/doc/install) 並正確設定 Go 境。特的,建議設定`$GOPATH`環境變量,並將 Go 的二制目或目`${GOPATH//://bin:}/bin`添加到`$PATH`中。請參閱 Go 百科上關於 [GOPATH](https://github.com/golang/go/wiki/GOPATH) 的詞條
接下[ Node.js 和 npm](https://nodejs.org/zh-tw/download/) 这是构建 JavaScript 和 CSS 文件所需的。最低支的 Node.js 版本是 @minNodeVersion@,建使用最新的 LTS 版本。
接下[ Node.js 和 npm](https://nodejs.org/zh-tw/download/) 這是構建 JavaScript 和 CSS 文件所需的。最低支的 Node.js 版本是 @minNodeVersion@,建使用最新的 LTS 版本。
**注意**:需要 Go 版本 @minGoVersion@ 或更高版本。不,建议获取与我们的持续集成continuous integration, CI相同的版本请参阅在 [Hacking on Gitea](development/hacking-on-gitea.md) 中出的建
**注意**:需要 Go 版本 @minGoVersion@ 或更高版本。不,建議獲取與我們的持續整合continuous integration, CI相同的版本請參閱在 [Hacking on Gitea](development/hacking-on-gitea.md) 中出的建
## 下
## 下
首先,我需要取源。由引入了 Go 模,最简单的方法是直接使用 Git为我们不再需要在 GOPATH 内构建 Gitea。
首先,我需要取源。由引入了 Go 模,最簡單的方法是直接使用 Git爲我們不再需要在 GOPATH 內構建 Gitea。
```bash
git clone https://github.com/go-gitea/gitea
```
(之前的版本中建使用 `go get`,但在不再需要。)
(之前的版本中建使用 `go get`,但在不再需要。)
你可以选择编译和安的版本,前有多个选择`main` 分支代表前的开发版本。如果你想编译 `main` 版本,你可以直接跳到 [](#) 部分。
你可以選擇編譯和安的版本,前有多個選擇`main` 分支代表前的開發版本。如果你想編譯 `main` 版本,你可以直接跳到 [](#) 部分。
如果你想编译带有标签的发行版本,可以使用以下命令出:
如果你想編譯帶有標籤的發行版本,可以使用以下命令出:
```bash
git branch -a
git checkout @sourceBranch@
```
验证一个拉取Pull Request, PR要先用新的分支(其中 `xyz` 是 PR 的 ID例如对于 [#2663](https://github.com/go-gitea/gitea/pull/2663)ID 是 `2663 `
驗證一個拉取Pull Request, PR要先用新的分支(其中 `xyz` 是 PR 的 ID例如對於 [#2663](https://github.com/go-gitea/gitea/pull/2663)ID 是 `2663 `
```bash
git fetch origin pull/xyz/head:pr-xyz
```
要以指定行版本(如 @sourceVersion@ )的源代码来构建 Gitea行以下命令列出可用的版本并选择某个版本出。
要以指定行版本(如 @sourceVersion@ )的源程式碼來構建 Gitea行以下命令列出可用的版本並選擇某個版本出。
使用以下命令列出可用的版本:
```bash
@@ -47,115 +47,115 @@ git tag -l
git checkout @sourceVersion@ # or git checkout pr-xyz
```
##
##
从源代码进行构建,系统必须预先安以下程
從源程式碼進行構建,系統必須預先安以下程
- `go` @minGoVersion@ 或更高版本,请参阅 [这里](https://go.dev/dl/)
- `node` @minNodeVersion@ 或更高版本,且安 `npm`, 请参阅 [这里](https://nodejs.org/zh-tw/download/)
- `make`, 请参阅 [这里](development/hacking-on-gitea.md)
- `go` @minGoVersion@ 或更高版本,請參閱 [這裏](https://go.dev/dl/)
- `node` @minNodeVersion@ 或更高版本,且安 `npm`, 請參閱 [這裏](https://nodejs.org/zh-tw/download/)
- `make`, 請參閱 [這裏](development/hacking-on-gitea.md)
为了尽可能简化编译过程,提供了各 [make 任](https://github.com/go-gitea/gitea/blob/main/Makefile)。
爲了儘可能簡化編譯過程,提供了各 [make 任](https://github.com/go-gitea/gitea/blob/main/Makefile)。
你的建需求,以下 tags 可以使用:
你的建需求,以下 tags 可以使用:
- `bindata`: 建一个单一的整体二进制文件,包含所有源。适用于构建生产环境版本。
- `sqlite sqlite_unlock_notify`: 启用对 [SQLite3](https://sqlite.org/) 数据库的支持。仅建议在少人使用使用这个模式。
- `pam`: 启用对 PAM Linux 可插拔认证模块)的支。可用于对本地用户进行身份验证或扩展身份验证到 PAM 可用的方法。
- `gogit`实验性功能)使用 go-git 变体的 Git 命令。
- `bindata`: 建一個單一的整體二進制文件,包含所有源。適用於構建生產環境版本。
- `sqlite sqlite_unlock_notify`: 啟用對 [SQLite3](https://sqlite.org/) 資料庫的支援。僅建議在少人使用使用這個模式。
- `pam`: 啟用對 PAM Linux 可插拔認證模組)的支。可用於對本地使用者進行身份驗證或擴展身份驗證到 PAM 可用的方法。
- `gogit`實驗性功能)使用 go-git 變體的 Git 命令。
所有JS/CSS/模板等)打包到二制文件中。在生产环境部署,使用`bindata`构建标签是必需的。在开发/测试 Gitea 或能够明确分离资源时,可以不用`bindata`
所有JS/CSS/模板等)打包到二制文件中。在生產環境部署,使用`bindata`構建標籤是必需的。在開發/測試 Gitea 或能夠明確分離資源時,可以不用`bindata`
要包含所有源,使用 `bindata` 标签
要包含所有源,使用 `bindata` 標籤
```bash
TAGS="bindata" make build
```
在我的持续集成系统的默认发行版中,构建标签为`TAGS="bindata sqlite sqlite_unlock_notify"`。因此,从源码构建的最简单、推方式是:
在我的持續整合系統的預設發行版中,構建標籤爲`TAGS="bindata sqlite sqlite_unlock_notify"`。因此,從源碼構建的最簡單、推方式是:
```bash
TAGS="bindata sqlite sqlite_unlock_notify" make build
```
`build`标分为两个子目
`build`標分爲兩個子目
- `make backend` 需要 [Go @minGoVersion@](https://golang.google.cn/doc/install) 或更高版本。
- `make frontend` 需要 [Node.js @minNodeVersion@](https://nodejs.org/zh-tw/download/) 或更高版本。
如果存在预构建的前端文件,可以仅构建后端:
如果存在預構建的前端文件,可以僅構建後端:
```bash
TAGS="bindata" make backend
```
## 测试
## 測試
按照上述步完成,工作目录中将会有一`gitea`制文件。可以从该目录进行测试,或其移动到带有测试数据的目中。当手动从命令行启动 Gitea ,可以通过按下`Ctrl + C`停止程
按照上述步完成,工作目錄中將會有一`gitea`制文件。可以從該目錄進行測試,或其移動到帶有測試資料的目中。當手動從命令行啟動 Gitea ,可以透過按下`Ctrl + C`停止程
```bash
./gitea web
```
## 更改默认路径
## 更改預設路徑
Gitea 将从`CustomPath`中查找许多信息。默认的,这会在运行 Gitea 时当前工作目下的`custom/`中(者案:即`$PATH_TO_YOUR_GITEA$/custom/`)。它还将`$(CustomPath)/conf/app.ini`中查找其配置文件`CustomConf`并将当前工作目用作一些可配置值的相基本路`AppWorkPath`。最后,静态文件将从默认为 `AppWorkPath``StaticRootPath`提供。
Gitea 將從`CustomPath`中查找許多資訊。預設的,這會在運行 Gitea 時當前工作目下的`custom/`中(者案:即`$PATH_TO_YOUR_GITEA$/custom/`)。它還將`$(CustomPath)/conf/app.ini`中查找其設定文件`CustomConf`並將當前工作目用作一些可設定值的相基本路`AppWorkPath`。最後,靜態文件將從預設爲 `AppWorkPath``StaticRootPath`提供。
管在开发时这些值很有用,但可能下游用户的偏好突。
管在開發時這些值很有用,但可能下游使用者的偏好突。
种选择是使用本文件来隐`gitea`制文件,并在运行 Gitea 之前创建适当的环境。然而,在构建时,可以使用`make``LDFLAGS`环境变量来更改这些默认值。适当的设置如下:
種選擇是使用本文件來隱`gitea`制文件,並在運行 Gitea 之前建立適當的環境。然而,在構建時,可以使用`make``LDFLAGS`環境變量來更改這些預設值。適當的設定如下:
-设置`CustomPath`使用`LDFLAGS="-X \"code.gitea.io/gitea/modules/setting.CustomPath=custom-path\""`
- 对于`CustomConf`应该使用`-X \"code.gitea.io/gitea/modules/setting.CustomConf=conf.ini\"`
- 对于`AppWorkPath`应该使用`-X \"code.gitea.io/gitea/modules/setting.AppWorkPath=working-path\"`
- 对于`StaticRootPath`应该使用`-X \"code.gitea.io/gitea/modules/setting.StaticRootPath=static-root-path\"`
- 要更改默认的 PID 文件位置,使用`-X \"code.gitea.io/gitea/cmd.PIDFile=/run/gitea.pid\"`
-設定`CustomPath`使用`LDFLAGS="-X \"code.gitea.io/gitea/modules/setting.CustomPath=custom-path\""`
- 對於`CustomConf`應該使用`-X \"code.gitea.io/gitea/modules/setting.CustomConf=conf.ini\"`
- 對於`AppWorkPath`應該使用`-X \"code.gitea.io/gitea/modules/setting.AppWorkPath=working-path\"`
- 對於`StaticRootPath`應該使用`-X \"code.gitea.io/gitea/modules/setting.StaticRootPath=static-root-path\"`
- 要更改預設的 PID 文件位置,使用`-X \"code.gitea.io/gitea/cmd.PIDFile=/run/gitea.pid\"`
将这些字符串其前`-X`添加到`LDFLAGS`量中,像上面那使用适当`TAGS``make build`
將這些字符串其前`-X`添加到`LDFLAGS`量中,像上面那使用適當`TAGS``make build`
`gitea help`将允许您查看配置`gitea`设置
`gitea help`將允許您查看設定`gitea`設定
## 交叉编译
## 交叉編譯
`go`编译器工具链支持将代码交叉编译到不同的目标架构上。请参考[`GOOS`和`GOARCH`环境变](https://go.dev/doc/install/source#environment) 以取支的目列表。如果您想性能弱的系(如莓派)建 Gitea交叉编译非常有用。
`go`編譯器工具鏈支援將程式碼交叉編譯到不同的目標架構上。請參考[`GOOS`和`GOARCH`環境變](https://go.dev/doc/install/source#environment) 以取支的目列表。如果您想性能弱的系(如莓派)建 Gitea交叉編譯非常有用。
要使用构建标签`TAGS`行交叉编译 Gitea需要一 C 交叉编译器,该编译器的目标架构与`GOOS``GOARCH`变量选择的架相同。例如,要 Linux ARM64`GOOS=linux``GOARCH=arm64`行交叉编译,您需要`aarch64-unknown-linux-gnu-gcc`交叉编译器。是因 Gitea 构建标签使用了`cgo`的外部函数接口FFI
要使用構建標籤`TAGS`行交叉編譯 Gitea需要一 C 交叉編譯器,該編譯器的目標架構與`GOOS``GOARCH`變量選擇的架相同。例如,要 Linux ARM64`GOOS=linux``GOARCH=arm64`行交叉編譯,您需要`aarch64-unknown-linux-gnu-gcc`交叉編譯器。是因 Gitea 構建標籤使用了`cgo`的外部函數介面FFI
有任何标签的情下,交叉编译的 Gitea Linux ARM64 版本:
有任何標籤的情下,交叉編譯的 Gitea Linux ARM64 版本:
```
GOOS=linux GOARCH=arm64 make build
```
要交叉编译 Linux ARM64 下的 Gitea是推荐的构建标签
要交叉編譯 Linux ARM64 下的 Gitea是推薦的構建標籤
```
CC=aarch64-unknown-linux-gnu-gcc GOOS=linux GOARCH=arm64 TAGS="bindata sqlite sqlite_unlock_notify" make build
```
您的目标架构,适当替换`CC``GOOS``GOARCH`
您的目標架構,適當替換`CC``GOOS``GOARCH`
您需要建一个静态编译的镜像。此,您需要添加以下容:
您需要建一個靜態編譯的鏡像。此,您需要添加以下容:
```
LDFLAGS="-linkmode external -extldflags '-static' $LDFLAGS" TAGS="netgo osusergo $TAGS" make build
```
可以上述的`CC``GOOS``GOARCH`合使用。
可以上述的`CC``GOOS``GOARCH`合使用。
### 添加 bash/zsh 自动补全( 1.19 版本起)
### 添加 bash/zsh 自動補全( 1.19 版本起)
在[`contrib/autocompletion/bash_autocomplete`](https://raw.githubusercontent.com/go-gitea/gitea/main/contrib/autocompletion/bash_autocomplete)中可以找到一个启用 bash 自动补全的本。您可以根需要行修改,在您的 `.bashrc` 中使用 `source` 命令加载该脚本,或者将其复制`/usr/share/bash-completion/completions/gitea`
在[`contrib/autocompletion/bash_autocomplete`](https://raw.githubusercontent.com/go-gitea/gitea/main/contrib/autocompletion/bash_autocomplete)中可以找到一個啟用 bash 自動補全的本。您可以根需要行修改,在您的 `.bashrc` 中使用 `source` 命令加載該腳本,或者將其複製`/usr/share/bash-completion/completions/gitea`
似地,可以在[`contrib/autocompletion/zsh_autocomplete`](https://raw.githubusercontent.com/go-gitea/gitea/main/contrib/autocompletion/zsh_autocomplete)中找到一个用于 zsh 自动补全的本。您可以将其复制`/usr/share/zsh/_gitea`,或者在您的 `.zshrc` 中使用 `source` 命令加载该脚本。
似地,可以在[`contrib/autocompletion/zsh_autocomplete`](https://raw.githubusercontent.com/go-gitea/gitea/main/contrib/autocompletion/zsh_autocomplete)中找到一個用於 zsh 自動補全的本。您可以將其複製`/usr/share/zsh/_gitea`,或者在您的 `.zshrc` 中使用 `source` 命令加載該腳本。
可能需要你根据具体情况进一步改进这些脚本。
可能需要你根據具體情況進一步改進這些腳本。
## 在 Linux 上使用 Zig 进行编译或交叉编译
## 在 Linux 上使用 Zig 進行編譯或交叉編譯
按照 [Zig 的入指南](https://ziglang.org/learn/getting-started/#installing-zig) 安 Zig。
按照 [Zig 的入指南](https://ziglang.org/learn/getting-started/#installing-zig) 安 Zig。
- 编译 (Linux ➝ Linux)
- 編譯 (Linux ➝ Linux)
```sh
CC="zig cc -target x86_64-linux-gnu" \
@@ -168,7 +168,7 @@ TAGS="bindata sqlite sqlite_unlock_notify" \
make build
```
- 交叉编译 (Linux ➝ Windows)
- 交叉編譯 (Linux ➝ Windows)
```sh
CC="zig cc -target x86_64-windows-gnu" \
@@ -180,11 +180,11 @@ TAGS="bindata sqlite sqlite_unlock_notify" \
make build
```
## 在 Windows 上使用 Zig 进行编译或交叉编译
## 在 Windows 上使用 Zig 進行編譯或交叉編譯
使用`GIT BASH`编译
使用`GIT BASH`編譯
- 编译 (Windows ➝ Windows)
- 編譯 (Windows ➝ Windows)
```sh
CC="zig cc -target x86_64-windows-gnu" \
@@ -196,7 +196,7 @@ TAGS="bindata sqlite sqlite_unlock_notify" \
make build
```
- 交叉编译 (Windows ➝ Linux)
- 交叉編譯 (Windows ➝ Linux)
```sh
CC="zig cc -target x86_64-linux-gnu" \
@@ -211,8 +211,8 @@ make build
## Source Map
默认情况gitea 会为前端文件生成精的 Source Map 以省空可以通过“ENABLE_SOURCEMAP”环境变量进行控制:
預設情況gitea 會爲前端文件生成精的 Source Map 以省空可以透過“ENABLE_SOURCEMAP”環境變量進行控制:
- `ENABLE_SOURCEMAP=true` 生成所有 Source Map这是开发版本的默认设置
- `ENABLE_SOURCEMAP=reduced` 生成有限的 Source Map是生版本的默认设置
- `ENABLE_SOURCEMAP=true` 生成所有 Source Map這是開發版本的預設設定
- `ENABLE_SOURCEMAP=reduced` 生成有限的 Source Map是生版本的預設設定
- `ENABLE_SOURCEMAP=false` 不生成 Source Map

View File

@@ -6,37 +6,37 @@ aliases:
- /zh-tw/install-on-cloud-provider
---
# 在云服务器上安 Gitea
# 在雲伺服器上安 Gitea
## Cloudron
Gitea 可以在 [Cloudron](https://cloudron.io) 上行一键安装
Cloudron 使得在您的服器上行 Gitea保持其更新和安全变得简单
Gitea 可以在 [Cloudron](https://cloudron.io) 上行一鍵安裝
Cloudron 使得在您的服器上行 Gitea保持其更新和安全變得簡單
[![Install](/cloudron.svg)](https://cloudron.io/button.html?app=io.gitea.cloudronapp)
Gitea 软件包的维护地址在[这里](https://git.cloudron.io/cloudron/gitea-app).
Gitea 套件的維護地址在[這裏](https://git.cloudron.io/cloudron/gitea-app).
这里有一[demo ](https://my.demo.cloudron.io) (用户名: cloudron 密: cloudron) 您可以在其中尝试运行 Gitea。
這裏有一[demo ](https://my.demo.cloudron.io) (使用者名稱: cloudron 密: cloudron) 您可以在其中嘗試運行 Gitea。
## Linode
[Linode](https://www.linode.com/) Gitea 作其市中的一个应用程.
[Linode](https://www.linode.com/) Gitea 作其市中的一個應用程.
Gitea 部署到 Linode, 请参考 [Linode Marketplace](https://www.linode.com/marketplace/apps/linode/gitea/).
Gitea 部署到 Linode, 請參考 [Linode Marketplace](https://www.linode.com/marketplace/apps/linode/gitea/).
## alwaysdata
[alwaysdata](https://www.alwaysdata.com/) Gitea 作其市中的一 droplet.
[alwaysdata](https://www.alwaysdata.com/) Gitea 作其市中的一 droplet.
Gitea 部署到 alwaysdata, 请参考 [alwaysdata Marketplace](https://www.alwaysdata.com/en/marketplace/gitea/).
Gitea 部署到 alwaysdata, 請參考 [alwaysdata Marketplace](https://www.alwaysdata.com/en/marketplace/gitea/).
## Exoscale
[Exoscale](https://www.exoscale.com/) 在其市中提供由 [Glasskube](https://glasskube.eu/) 管理的 Gitea。
[Exoscale](https://www.exoscale.com/) 在其市中提供由 [Glasskube](https://glasskube.eu/) 管理的 Gitea。
Exoscale 是一家洲的云服务提供商。
Exoscale 是一家洲的雲服務提供商。
该软件包通过开源的 [Glasskube Kubernetes Operator](https://github.com/glasskube/operator) 进行维护和更新。
該套件通過開源的 [Glasskube Kubernetes Operator](https://github.com/glasskube/operator) 進行維護和更新。
要在 Exoscale 上部署 Gitea请参考 [Exoscale Marketplace](https://www.exoscale.com/marketplace/listing/glasskube-gitea/)。
要在 Exoscale 上部署 Gitea請參考 [Exoscale Marketplace](https://www.exoscale.com/marketplace/listing/glasskube-gitea/)。

View File

@@ -6,11 +6,11 @@ aliases:
- /zh-tw/install-on-kubernetes
---
# 在 Kubernetes 中安 Gitea
# 在 Kubernetes 中安 Gitea
Gitea 已提供了便在 Kubernetes 原生境中安所需的 Helm Chart
Gitea 已提供了便在 Kubernetes 原生境中安所需的 Helm Chart
默认安装指令
預設安裝指令
```bash
helm repo add gitea https://dl.gitea.com/charts
@@ -18,21 +18,21 @@ helm repo update
helm install gitea gitea/gitea
```
如果采用默认安装指令Helm 部署单实例的 Gitea, PostgreSQL, Memcached。若您想实现自定义安装(包括配置 Gitea 集、NGINX Ingress、MySQL、MariaDB、持久存等),前往阅读[Gitea Helm Chart](https://gitea.com/gitea/helm-chart/)
如果採用預設安裝指令Helm 部署單實例的 Gitea, PostgreSQL, Memcached。若您想實現自訂安裝(包括設定 Gitea 集、NGINX Ingress、MySQL、MariaDB、持久存等),前往閱讀[Gitea Helm Chart](https://gitea.com/gitea/helm-chart/)
您也可以通过 `helm show` 命令`README.md`配置文件 `values.yaml` 进行学习和编辑,例如:
您也可以透過 `helm show` 命令`README.md`設定文件 `values.yaml` 進行學習和編輯,例如:
```bash
helm show values gitea/gitea > values.yaml
helm show readme gitea/gitea > README.md
# 使用自定的配置文件 values.yaml
# 使用自定的配置文件 values.yaml
helm install gitea -f values.yaml gitea/gitea
```
## 运行状况检查接口
## 運行狀況檢查介面
Gitea 附了一个运行状况检查接口 `/api/healthz`,你可以像这样在 Kubernetes 中配置它:
Gitea 附了一個運行狀況檢查介面 `/api/healthz`,你可以像這樣在 Kubernetes 中設定它:
```yaml
livenessProbe:
@@ -46,7 +46,7 @@ livenessProbe:
failureThreshold: 10
```
成功的运行状况检查响应代码为 HTTP `200`,下面是例:
成功的運行狀況檢查響應程式碼爲 HTTP `200`,下面是例:
```json
HTTP/1.1 200 OK
@@ -71,4 +71,4 @@ HTTP/1.1 200 OK
}
```
更多信息,请参考 Kubernetes 文 [配置存活、就绪和启动探测](https://kubernetes.io/zh-tw/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/)
更多資訊,請參考 Kubernetes 文 [設定存活、就緒和啟動探測](https://kubernetes.io/zh-tw/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/)

View File

@@ -6,23 +6,23 @@ aliases:
- /zh-tw/linux-service
---
# 在 Linux 中以 service 方式
# 在 Linux 中以 service 方式
## 在 Ubuntu 16.04 LTS 中以 service 方式
## 在 Ubuntu 16.04 LTS 中以 service 方式
### systemd 方式
在 terminal 中行以下命令:
在 terminal 中行以下命令:
```
sudo vim /etc/systemd/system/gitea.service
```
接着拷贝示例代码 [gitea.service](https://github.com/go-gitea/gitea/blob/main/contrib/systemd/gitea.service) 取消任何需要行在主上的服部分的注释,譬如 MySQL。
接着拷貝範例程式碼 [gitea.service](https://github.com/go-gitea/gitea/blob/main/contrib/systemd/gitea.service) 取消任何需要行在主上的服部分的註釋,譬如 MySQL。
修改 userhome 目以及其他必的初始化参数,如果使用自定义端口,需修改 PORT 参数,反之如果使用默认端口则需删除 -p 标记
修改 userhome 目以及其他必的初始化參數,如果使用自端口,需修改 PORT 參數,反之如果使用預設端口則需刪除 -p 標記
激活 gitea 并将它作为系统自启动服务
激活 gitea 並將它作爲系統自啟動服務
```
sudo systemctl enable gitea
@@ -31,31 +31,31 @@ sudo systemctl start gitea
### 使用 supervisor
在 terminal 中行以下命令安 supervisor
在 terminal 中行以下命令安 supervisor
```
sudo apt install supervisor
```
supervisor 配置日志路径
supervisor 設定日誌路徑
```
# assuming gitea is installed in /home/git/gitea/
mkdir /home/git/gitea/log/supervisor
```
在文件编辑器中打 supervisor 的配置文件:
在文件編輯器中打 supervisor 的設定文件:
```
sudo vim /etc/supervisor/supervisord.conf
```
增加如下示例配置
增加如下範例設定
[supervisord config](https://github.com/go-gitea/gitea/blob/main/contrib/supervisor/gitea)。
user(git) 和 home(/home/git) 设置为与上文部署中匹配的值。如果使用自定义端口,需修改 PORT 参数,反之如果使用默认端口则需删除 -p 标记
user(git) 和 home(/home/git) 設定爲與上文部署中匹配的值。如果使用自端口,需修改 PORT 參數,反之如果使用預設端口則需刪除 -p 標記
激活 supervisor 并将它作为系统自启动服务
激活 supervisor 並將它作爲系統自啟動服務
```
sudo systemctl enable supervisor

View File

@@ -4,83 +4,83 @@ slug: "upgrade-from-gitea"
sidebar_position: 100
---
# 从旧版 Gitea 升
# 從舊版 Gitea 升
在升之前,您需要做如下的准备工作。
在升之前,您需要做如下的準備工作。
## 重大变更检查更新日
## 重大變更檢查更新日
为了让 Gitea 得更好,行重大更是不可避免的,尤其是一些里程碑更新的发布
在更新前, [在 Gitea 博客上阅读更新日](https://blog.gitea.com/)
并检查重大更是否会影响你的 Gitea 例。
爲了讓 Gitea 得更好,行重大更是不可避免的,尤其是一些里程碑更新的發佈
在更新前, [在 Gitea 部落格上閱讀更新日](https://blog.gitea.com/)
並檢查重大更是否會影響你的 Gitea 例。
## 在控制面板中检查过期的配置项
## 在控制面板中檢查過期的設定項
一些配置项可能会在后续版本中期,你需要在控制面板中查他。如果不解决过期的配置项
Gitea也许会在升级后无法重。你可以访问 https://docs.gitea.com 得要升的版本
对应的文档来修改你的配置文件。
一些設定項可能會在後續版本中期,你需要在控制面板中查他。如果不解決過期的設定項
Gitea也許會在升級後無法重。你可以訪問 https://docs.gitea.com 得要升的版本
對應的文件來修改你的設定文件。
## 降前的
## 降前的
Gitea 保留首二位版本相同的版本的容性 (`a.b.x` -> `a.b.y`)
些版本有相同的数据库结构,可以自由升或降
其他情 (`a.b.?` -> `a.c.?`)下,
新版 Gitea 可能将会将数据库升级到与旧版数据库不同的结构
Gitea 保留首二位版本相同的版本的容性 (`a.b.x` -> `a.b.y`)
些版本有相同的資料庫結構,可以自由升或降
其他情 (`a.b.?` -> `a.c.?`)下,
新版 Gitea 可能將會將資料庫升級到與舊版資料庫不同的結構
举个例子:
舉個例子:
| 前 | 目 | 果 |
| 前 | 目 | 果 |
| --- | --- | --- |
| 1.4.0 | 1.4.1 | ✅ |
| 1.4.1 | 1.4.0 | ⚠️ 不建议,后果自负!尽管数据库结构可能不会变更,它可以正常工作。我们强烈建议降级前进行完全的份。 |
| 1.4.x | 1.5.y | ✅ 数据库会被自动升级。你可以直接 1.4.x 升到最新的 1.5.y。 |
| 1.5.y | 1.4.x | ❌ 数据库已被升级且无法用于旧版本Gitea使用备份来进行降。 |
| 1.4.1 | 1.4.0 | ⚠️ 不建議,後果自負!儘管資料庫結構可能不會變更,它可以正常工作。我們強烈建議降級前進行完全的份。 |
| 1.4.x | 1.5.y | ✅ 資料庫會被自動升級。你可以直接 1.4.x 升到最新的 1.5.y。 |
| 1.5.y | 1.4.x | ❌ 資料庫已被升級且無法用於舊版本Gitea使用備份來進行降。 |
**因你不能基于升级后的数据库运行旧版 Gitea所以你应该在数据库升级前完成数据备份。**
**因你不能基於升級後的資料庫運行舊版 Gitea所以你應該在資料庫升級前完成資料備份。**
如果你在生产环境下使用 Gitea应该在升前做好份,哪怕只是小版本的丁更新。
如果你在生產環境下使用 Gitea應該在升前做好份,哪怕只是小版本的丁更新。
份步:
份步:
* 停止 Gitea
* 备份数据库
* 份 Gitea 配置文件
* 份 Gitea 在 `APP_DATA_PATH` 中的数据文件
* 份 Gitea 的外部存 (例如: S3/MinIO 或被使用的其他存)
* 停止 Gitea
* 備份資料庫
* 份 Gitea 設定文件
* 份 Gitea 在 `APP_DATA_PATH` 中的資料文件
* 份 Gitea 的外部存 (例如: S3/MinIO 或被使用的其他存)
如果你在使用云服务或拥有快照功能的文件系
最好 Gitea 的数据盘及相关资料存储进行一次快照。
如果你在使用雲服務或擁有快照功能的文件系
最好 Gitea 的資料盤及相關資料儲存進行一次快照。
在所有上述步骤准备妥当之后,要升 Gitea只需要下新版,停止运行旧版,进行数据备份,然后运行新版就好。
每次 Gitea 实例启动时,它都会检查是否要进行数据库迁移。
如果需要进行数据库迁Gitea 花一些时间完成升级然后继续服务
在所有上述步驟準備妥當之後,要升 Gitea只需要下新版,停止運行舊版,進行資料備份,然後運行新版就好。
每次 Gitea 實例啟動時,它都會檢查是否要進行資料庫遷移。
如果需要進行資料庫遷Gitea 花一些時間完成升級然後繼續服務
## Docker 升
## Docker 升
* `docker pull` 拉取 Gitea 的最新布版。
* 停止行中的例,备份数据
* 使用 `docker``docker-compose` 启动较新的 Gitea Docker 容器.
* `docker pull` 拉取 Gitea 的最新布版。
* 停止行中的例,備份資料
* 使用 `docker``docker-compose` 啟動較新的 Gitea Docker 容器.
## 包升
## 包升
* 停止行中的例,备份数据
* 使用你的管理器更新 Gitea 到最新版本。
* 启动 Gitea 例。
* 停止行中的例,備份資料
* 使用你的套件管理器更新 Gitea 到最新版本。
* 啟動 Gitea 例。
## 从二进制升
## 從二進制升
*最新的 Gitea 二制文件到临时文件中。
* 停止行中的例,备份数据
* 将旧的 Gitea 二制文件覆成新的。
* 启动 Gitea 例。
*最新的 Gitea 二制文件到臨時文件中。
* 停止行中的例,備份資料
* 將舊的 Gitea 二制文件覆成新的。
* 啟動 Gitea 例。
在 Linux 系上自动执行以上步骤的脚本可在 [Gitea 的 source tree 中找到 `contrib/upgrade.sh` 来获](https://github.com/go-gitea/gitea/blob/main/contrib/upgrade.sh).
在 Linux 系上自動執行以上步驟的腳本可在 [Gitea 的 source tree 中找到 `contrib/upgrade.sh` 來獲](https://github.com/go-gitea/gitea/blob/main/contrib/upgrade.sh).
## 小心你的自定义模板
## 小心你的自模板
Gitea 的模板结构与变量可能会随着各版本的发布发生变化,如果你使用了自定义模板,
你得注意你的模板你使用的 Gitea 版本的容性。
Gitea 的模板結構與變量可能會隨着各版本的發佈發生變化,如果你使用了自模板,
你得注意你的模板你使用的 Gitea 版本的容性。
如果自定义模板 Gitea 版本不容,你可能遇到:
`50x` 服务器错误,页面元素失或故障,莫名其妙的页面布局,等等…
移除或更新不容的模板Gitea Web 可以正常工作。
如果自模板 Gitea 版本不容,你可能遇到:
`50x` 伺服器錯誤,頁面元素失或故障,莫名其妙的頁面佈局,等等…
移除或更新不容的模板Gitea Web 可以正常工作。

View File

@@ -6,63 +6,63 @@ aliases:
- /zh-tw/windows-service
---
# 注册为 Windows 服
# 註冊爲 Windows 服
## 准备工作
## 準備工作
在 C:\gitea\custom\conf\app.ini 中行了以下更改:
在 C:\gitea\custom\conf\app.ini 中行了以下更改:
```ini title="app.ini"
RUN_USER = COMPUTERNAME$
```
Gitea 设置为以本地系统用户运行。
Gitea 設定爲以本地系統使用者運行。
COMPUTERNAME 是命令行中行 `echo %COMPUTERNAME%` 得到的响应。如果响应是 `USER-PC`,那 `RUN_USER = USER-PC$`。
COMPUTERNAME 是命令行中行 `echo %COMPUTERNAME%` 得到的響應。如果響應是 `USER-PC`,那 `RUN_USER = USER-PC$`。
### 使用绝对路径
### 使用絕對路徑
如果您使用 SQLite3请将 `PATH` 更改包含完整路
如果您使用 SQLite3請將 `PATH` 更改包含完整路
```ini title="app.ini"
[database]
PATH = c:/gitea/data/gitea.db
```
## 注册为 Windows 服
## 註冊爲 Windows 服
注册为 Windows 服,首先以 Administrator 身份行 `cmd`,然后执行以下命令:
註冊爲 Windows 服,首先以 Administrator 身份行 `cmd`,然後執行以下命令:
```
sc.exe create gitea start= auto binPath= "\"C:\gitea\gitea.exe\" web --config \"C:\gitea\custom\conf\app.ini\""
```
忘了 `C:\gitea` 替成你的 Gitea 安装目录
忘了 `C:\gitea` 替成你的 Gitea 安裝目錄
在控制面板打 "Windows Services",搜索 "gitea",右键选择 "Run"。在浏览器打 `http://localhost:3000` 就可以访问了。(如果你修改了端口,请访问对应的端口3000 是默认端口)。
在控制面板打 "Windows Services",搜索 "gitea",右鍵選擇 "Run"。在瀏覽器打 `http://localhost:3000` 就可以訪問了。(如果你修改了端口,請前往對應的端口3000 是預設端口)。
### 服务启动类
### 服務啟動類
据观察,在启动期间加载的系Gitea 服可能无法启动,并在 Windows 事件日志中记录超时
这种情况下,将启动类型更改`Automatic-Delayed`。可以在服务创建期间完成,或者通过运行配置命令完成。
據觀察,在啟動期間加載的系Gitea 服可能無法啟動,並在 Windows 事件日誌中記錄超時
這種情況下,將啟動類型更改`Automatic-Delayed`。可以在服務建立期間完成,或者通過運行設定命令完成。
```
sc.exe config gitea start= delayed-auto
```
### 添加启动依赖项
### 添加啟動依賴項
将启动依赖项添加到 Gitea Windows 服(例如 Mysql、Mariadb管理,然后运行以下命令:
將啟動依賴項添加到 Gitea Windows 服(例如 Mysql、Mariadb管理,然後運行以下命令:
```
sc.exe config gitea depend= mariadb
```
这将确保在 Windows 计算机重新启动时,将延迟自动启动 Gitea直到数据库准备就绪从而减少启动失败的情
這將確保在 Windows 計算機重新啟動時,將延遲自動啟動 Gitea直到資料庫準備就緒從而減少啟動失敗的情
## Windows 服务中删
## Windows 服務中刪
以 Administrator 身份行 `cmd`,然后执行以下命令:
以 Administrator 身份行 `cmd`,然後執行以下命令:
```
sc.exe delete gitea

View File

@@ -6,19 +6,19 @@ aliases:
- /zh-tw/install-with-docker-rootless
---
# 使用 Docker 安 (rootless)
# 使用 Docker 安 (rootless)
Gitea 在其 Docker Hub 组织中提供自更新的 Docker 像。您可以始使用最新的稳定标签,或使用其他理 Docker 像更新的服
Gitea 在其 Docker Hub 組織中提供自更新的 Docker 像。您可以始使用最新的穩定標籤,或使用其他理 Docker 像更新的服
rootless 像使用 Gitea 部 SSH 功能提供 Git 协议,但不支 OpenSSH。
rootless 像使用 Gitea 部 SSH 功能提供 Git 協議,但不支 OpenSSH。
参考设置指南将用户引导通过基于 `docker-compose`设置。但是,`docker-compose` 的安超出了本文档的范围。要安`docker-compose` 本身, 按照官方的 [装说](https://docs.docker.com/compose/install/)行操作。
參考設定指南將使用者引導通過基於 `docker-compose`設定。但是,`docker-compose` 的安超出了本文件的範圍。要安`docker-compose` 本身, 按照官方的 [裝說](https://docs.docker.com/compose/install/)行操作。
## 基础设置
## 基礎設定
简单的设置只需创建一个卷和一个网络,并将 `docker.gitea.com/gitea:latest-rootless` 像作为服务启动。由于没有可用的数据库,可以使用 SQLite3 初始化一
簡單的設定只需建立一個卷和一個網路,並將 `docker.gitea.com/gitea:latest-rootless` 像作爲服務啟動。由於沒有可用的資料庫,可以使用 SQLite3 初始化一
创建一个名为 `data``config`:
建立一個名爲 `data``config`:
```sh
mkdir -p gitea/{data,config}
@@ -26,7 +26,7 @@ cd gitea
touch docker-compose.yml
```
后将以下容粘到名 `docker-compose.yml` 的文件中:
後將以下容粘到名 `docker-compose.yml` 的文件中:
```yaml
version: "2"
@@ -45,19 +45,19 @@ services:
- "2222:2222"
```
注意,卷由在配置文件中指定的 UID/GID 的用户/组所有。默认情况Docker 中的 Gitea 使用 uid:1000 gid:1000。如果需要您可以使用以下命令设置这些文件的所有
注意,卷由在設定文件中指定的 UID/GID 的使用者/組所有。預設情況Docker 中的 Gitea 使用 uid:1000 gid:1000。如果需要您可以使用以下命令設定這些文件的所有
```sh
sudo chown 1000:1000 config/ data/
```
> 如果未为卷设置正确的权限,容器可能无法启动
> 如果未爲卷設定正確的權限,容器可能無法啟動
对于稳定版本,您可以使用 `:latest-rootless``:1-rootless`,或指定特定的版本,如: `@dockerVersion@-rootless`。如果您想使用最新的开发版本,可以使用 `:dev-rootless` 标签。如果您想运行发布分支的最新提交,可以使用 `:1.x-dev-rootless` 标签,其中 x 是 Gitea 的次要版本(例如:`1.16-dev-rootless`)。
對於穩定版本,您可以使用 `:latest-rootless``:1-rootless`,或指定特定的版本,如: `@dockerVersion@-rootless`。如果您想使用最新的開發版本,可以使用 `:dev-rootless` 標籤。如果您想運行發佈分支的最新提交,可以使用 `:1.x-dev-rootless` 標籤,其中 x 是 Gitea 的次要版本(例如:`1.16-dev-rootless`)。
## 自定义端口
## 自端口
将集成的 SSH 和 Web 服务器绑定到不同的端口,请调整端口部分。通常只需更改主端口保持容器的端口不
將整合的 SSH 和 Web 伺服器綁定到不同的端口,請調整端口部分。通常只需更改主端口保持容器的端口不
```diff
version: "2"
@@ -78,9 +78,9 @@ services:
+ - "22:2222"
```
## MySQL 数据库
## MySQL 資料庫
Gitea MySQL 数据库结合使用,请对上面创建`docker-compose.yml` 文件行以下更改。
Gitea MySQL 資料庫結合使用,請對上面建立`docker-compose.yml` 文件行以下更改。
```diff
version: "2"
@@ -118,9 +118,9 @@ services:
+ - ./mysql:/var/lib/mysql
```
## PostgreSQL 数据库
## PostgreSQL 資料庫
Gitea PostgreSQL 数据库结合使用,请对上面创建`docker-compose.yml` 文件行以下更改。
Gitea PostgreSQL 資料庫結合使用,請對上面建立`docker-compose.yml` 文件行以下更改。
```diff
version: "2"
@@ -159,7 +159,7 @@ services:
## 命名卷 (Named Volumes)
要使用命名卷 (Named Volumes) 而不是主卷 (Host Volumes)`docker-compose.yml` 配置中定和使用命名卷。这样的更改将自动创建所需的卷。您不需要担心权限问题Docker 会自动处理。
要使用命名卷 (Named Volumes) 而不是主卷 (Host Volumes)`docker-compose.yml` 設定中定和使用命名卷。這樣的更改將自動建立所需的卷。您不需要擔心權限問題Docker 會自動處理。
```diff
version: "2"
@@ -186,13 +186,13 @@ services:
- "2222:2222"
```
MySQL 或 PostgreSQL 容器需要单独创建
MySQL 或 PostgreSQL 容器需要單獨建立
## 自定义用户
## 自訂使用者
你可以选择使用自定义用户 (遵循 --user 标志定义 https://docs.docker.com/engine/reference/run/#user)。
例如,要克隆主机用户 `git` 的定义,请使用命令 `id -u git` 并将其添加到 `docker-compose.yml` 文件中:
请确用户对保挂载的文件具有写权限。
你可以選擇使用自訂使用者 (遵循 --user 標誌定義 https://docs.docker.com/engine/reference/run/#user)。
例如,要克隆主機使用者 `git` 的定義,請使用命令 `id -u git` 並將其添加到 `docker-compose.yml` 文件中:
請確使用者對保掛載的文件具有寫權限。
```diff
version: "2"
@@ -212,53 +212,53 @@ services:
- "2222:2222"
```
## 启动
## 啟動
启动基于 `docker-compose`这个设置,请执`docker-compose up -d`,以在后台启动 Gitea。使用 `docker-compose ps` 命令可以查看 Gitea 是否正确启动。可以使用 `docker-compose logs` 命令查看日
啟動基於 `docker-compose`這個設定,請執`docker-compose up -d`,以在後臺啟動 Gitea。使用 `docker-compose ps` 命令可以查看 Gitea 是否正確啟動。可以使用 `docker-compose logs` 命令查看日
关闭设置,请执`docker-compose down` 命令。这将停止和止容器,但卷仍存在。
關閉設定,請執`docker-compose down` 命令。這將停止和止容器,但卷仍存在。
注意:如果在 HTTP 上使用的是非 3000 端口,请将 app.ini 更改匹配 `LOCAL_ROOT_URL = http://localhost:3000/`
注意:如果在 HTTP 上使用的是非 3000 端口,請將 app.ini 更改匹配 `LOCAL_ROOT_URL = http://localhost:3000/`
## 安
## 安
在通 `docker-compose` 启动 Docker 设置后,可以使用喜爱的浏览器访问 Gitea完成安装过程。访问 `http://<服器-IP>:3000` 按照安装向导进行操作。如果数据库是使用上述文中的 `docker-compose` 设置启动的,注意必使用 `db`为数据库主机名。
在通 `docker-compose` 啟動 Docker 設定後,可以使用喜愛的瀏覽器訪問 Gitea完成安裝過程。訪問 `http://<服器-IP>:3000` 按照安裝嚮導進行操作。如果資料庫是使用上述文中的 `docker-compose` 設定啟動的,注意必使用 `db`爲資料庫主機名。
## 自定义
## 自
定义文件的位置位 `/var/lib/gitea/custom`中,可以在这里找到有关自定义的文件明。如果使用主host volumes很容易访问这些文件如果使用命名卷named volumes可以通过另一容器或直接访问 `/var/lib/docker/volumes/gitea_gitea/_/var_lib_gitea` 来进行访问。在安装后,配置文件保存在 `/etc/gitea/app.ini` 中。
文件的位置位 `/var/lib/gitea/custom`中,可以在這裏找到有關自訂的文件明。如果使用主host volumes很容易訪問這些文件如果使用命名卷named volumes可以透過另一容器或直接訪問 `/var/lib/docker/volumes/gitea_gitea/_/var_lib_gitea` 來進行訪問。在安裝後,設定文件保存在 `/etc/gitea/app.ini` 中。
## 升
## 升
:::warning
:exclamation::exclamation: **保您已将数据卷迁移到 Docker 容器之外的其他位置** :exclamation::exclamation:
:exclamation::exclamation: **保您已將資料卷遷移到 Docker 容器之外的其他位置** :exclamation::exclamation:
:::
将安装升级到最新版本,按照以下步操作:
將安裝升級到最新版本,按照以下步操作:
```bash
# 如果在 docker-compose.yml 中指定了版本,请编辑该文件以更新版本
# 拉取新的
# 如果在 docker-compose.yml 中指定了版本,請編輯該文件以更新版本
# 拉取新的
docker-compose pull
# 启动一个新的容器,自移除的容器
# 啓動一個新的容器,自移除的容器
docker-compose up -d
```
## 从标准镜像升
## 從標準鏡像升
- 份您的设置
- 将卷挂载点从 `/data` 更改 `/var/lib/gitea`
- 如果使用了自定义`app.ini`请将其移到新的挂载`/etc/gitea` 的卷中
- 卷中的文件gitea重命名 custom
- 如果需要,编辑 `app.ini`
- 设置 `START_SSH_SERVER = true`
- 使用` docker.gitea.com/gitea:@dockerVersion@-rootless`
- 份您的設定
- 將卷掛載點從 `/data` 更改 `/var/lib/gitea`
- 如果使用了自`app.ini`請將其移到新的掛載`/etc/gitea` 的卷中
- 卷中的文件gitea重命名 custom
- 如果需要,編輯 `app.ini`
- 設定 `START_SSH_SERVER = true`
- 使用` docker.gitea.com/gitea:@dockerVersion@-rootless`
## 使用环境变量管理部署
## 使用環境變量管理部署
除了上述的环境变量外,`app.ini` 中的任何设置都可以通过形式 `GITEA__SECTION_NAME__KEY_NAME`环境变量进行设置或覆盖。这些设置在每次 Docker 容器启动时都会生效。完整信息请参考[这里](https://github.com/go-gitea/gitea/tree/main/contrib/environment-to-ini).
除了上述的環境變量外,`app.ini` 中的任何設定都可以透過形式 `GITEA__SECTION_NAME__KEY_NAME`環境變量進行設定或覆蓋。這些設定在每次 Docker 容器啟動時都會生效。完整資訊請參考[這裏](https://github.com/go-gitea/gitea/tree/main/contrib/environment-to-ini).
这些环境变量可以在 `docker-compose.yml`传递给 Docker 容器。以下示例将启用 SMTP 邮件服务器,如果主机上设置了所需的环境变量 GITEA**mailer**FROM、GITEA**mailer**HOST、GITEA**mailer**PASSWD或者在 `docker-compose.yml` 相同目中的 `.env` 文件中设置了这些环境变量:
這些環境變量可以在 `docker-compose.yml`傳遞給 Docker 容器。以下範例將啟用 SMTP 郵件伺服器,如果主機上設定了所需的環境變量 GITEA**mailer**FROM、GITEA**mailer**HOST、GITEA**mailer**PASSWD或者在 `docker-compose.yml` 相同目中的 `.env` 文件中設定了這些環境變量:
```bash
...
@@ -274,36 +274,36 @@ services:
- GITEA__mailer__PASSWD="""${GITEA__mailer__PASSWD:?GITEA__mailer__PASSWD not set}"""
```
设置所需的 TOKEN 和 SECRET 值,可以使用 Gitea 的置[生成使用函](../administration/command-line.md#generate).
設定所需的 TOKEN 和 SECRET 值,可以使用 Gitea 的置[生成使用函](../administration/command-line.md#generate).
# SSH 容器透
# SSH 容器透
SSH 在容器内运行,如果需要 SSH 支,需要 SSH 从主机透传到容器。一种选择是在容器内运行 SSH使用非标准端口(或将主机端口移到非标准端口)。另一可能更直接的选择是将主机上的 SSH 命令转发到容器。下面解释了这种设置
SSH 在容器內運行,如果需要 SSH 支,需要 SSH 從主機透傳到容器。一種選擇是在容器內運行 SSH使用非標準端口(或將主機端口移到非標準端口)。另一可能更直接的選擇是將主機上的 SSH 命令轉發到容器。下面解釋了這種設定
本指南假您已在主机上创建了一个名为 `git`用户,并具有`docker exec`限,且 Gitea 容器的名称为 `gitea`。您需要修改该用户的 shell命令转发到容器`sh`行文件,使用 `docker exec`
本指南假您已在主機上建立了一個名爲 `git`使用者,並具有`docker exec`限,且 Gitea 容器的名稱爲 `gitea`。您需要修改該使用者的 shell命令轉發到容器`sh`行文件,使用 `docker exec`
首先,在主机上创建文件 `/usr/local/bin/gitea-shell`填入以下容:
首先,在主機上建立文件 `/usr/local/bin/gitea-shell`填入以下容:
```bash
#!/bin/sh
/usr/bin/docker exec -i --env SSH_ORIGINAL_COMMAND="$SSH_ORIGINAL_COMMAND" gitea sh "$@"
```
注意上述 docker 命令中的 `gitea` 是容器的名。如果您的容器名不同,请记得更改。
注意上述 docker 命令中的 `gitea` 是容器的名。如果您的容器名不同,請記得更改。
还应确保正确设置了 shell 包器的限:
還應確保正確設定了 shell 包器的限:
```bash
sudo chmod +x /usr/local/bin/gitea-shell
```
一旦包器就位,您可以将其设置为 `git` 用户的 shell
一旦包器就位,您可以將其設定爲 `git` 使用者的 shell
```bash
sudo usermod -s /usr/local/bin/gitea-shell git
```
在,所有的 SSH 命令都会被转发到容器,您需要在主机上设置 SSH 认证。这可以通过利用 [SSH AuthorizedKeysCommand](../administration/command-line.md#keys) 匹配 Gitea 接受的密。在主`/etc/ssh/sshd_config` 文件中添加以下代码块
在,所有的 SSH 命令都會被轉發到容器,您需要在主機上設定 SSH 認證。這可以透過利用 [SSH AuthorizedKeysCommand](../administration/command-line.md#keys) 匹配 Gitea 接受的密。在主`/etc/ssh/sshd_config` 文件中添加以下程式碼塊
```bash
Match User git
@@ -311,9 +311,9 @@ Match User git
AuthorizedKeysCommand /usr/bin/docker exec -i gitea /usr/local/bin/gitea keys -c /etc/gitea/app.ini -e git -u %u -t %t -k %k
```
1.16.0 始,您不需要设置 `-c /etc/gitea/app.ini` 选项。)
1.16.0 始,您不需要設定 `-c /etc/gitea/app.ini` 選項。)
剩下的就是重新启动 SSH 服器:
剩下的就是重新啟動 SSH 服器:
```bash
sudo systemctl restart sshd
@@ -321,5 +321,5 @@ sudo systemctl restart sshd
**注意**
这实际上并没有使用 Docker 的 SSH而是仅仅使用了围绕它的命令。
从理论上讲,您可以不运行内部的 SSH 服器。
這實際上並沒有使用 Docker 的 SSH而是僅僅使用了圍繞它的命令。
從理論上講,您可以不運行內部的 SSH 服器。

View File

@@ -6,15 +6,15 @@ aliases:
- /zh-tw/install-with-docker
---
# 使用 Docker 安
# 使用 Docker 安
Gitea 在其 Docker Hub 组织内提供自更新的 Docker 像。可以始使用最新的稳定标签或使用其他服务来更新 Docker 像。
Gitea 在其 Docker Hub 組織內提供自更新的 Docker 像。可以始使用最新的穩定標籤或使用其他服務來更新 Docker 像。
该参考设置指导用户完成基 `docker-compose`设置,但是 `docker-compose` 的安不在本文档的范围之内。要安 `docker-compose` 本身,遵循官方[装说](https://docs.docker.com/compose/install/)。
該參考設定指導使用者完成基 `docker-compose`設定,但是 `docker-compose` 的安不在本文件的範圍之內。要安 `docker-compose` 本身,遵循官方[裝說](https://docs.docker.com/compose/install/)。
## 基本
简单的设置只是创建一个卷和一个网络,然后将 `docker.gitea.com/gitea:latest` 像作为服务启动。由于没有可用的数据库,因此可以使用 SQLite3 初始化数据库。创建一个类`gitea` 的目录,并将以下容粘到名 `docker-compose.yml` 的文件中。注意,该卷应由配置文件中指定的 UID/GID 的用户/组拥有。如果您不授予卷正确的权限,容器可能无法启动。另注意,标签 `:latest` 将安装当前的开发版本。对于稳定的行版,您可以使用 `:1` 或指定某个发行版,例如 `@dockerVersion@`
簡單的設定只是建立一個卷和一個網路,然後將 `docker.gitea.com/gitea:latest` 像作爲服務啟動。由於沒有可用的資料庫,因此可以使用 SQLite3 初始化資料庫。建立一個類`gitea` 的目錄,並將以下容粘到名 `docker-compose.yml` 的文件中。注意,該卷應由設定文件中指定的 UID/GID 的使用者/組擁有。如果您不授予卷正確的權限,容器可能無法啟動。另注意,標籤 `:latest` 將安裝當前的開發版本。對於穩定的行版,您可以使用 `:1` 或指定某個發行版,例如 `@dockerVersion@`
```yaml
version: "3"
@@ -44,7 +44,7 @@ services:
## 端口
将集成的 openSSH 守护进程和 Web 服务器绑定到其他端口,请调整端口部分。通常,只需更改主端口,容器的端口保持原即可。
將整合的 openSSH 守護進程和 Web 伺服器綁定到其他端口,請調整端口部分。通常,只需更改主端口,容器的端口保持原即可。
```diff
version: "3"
@@ -74,11 +74,11 @@ services:
+ - "2221:22"
```
## 数据库
## 資料庫
### MySQL 数据库
### MySQL 資料庫
Gitea MySQL 数据库结合使用,请将这些更改应用于上面创建`docker-compose.yml` 文件。
Gitea MySQL 資料庫結合使用,請將這些更改應用於上面建立`docker-compose.yml` 文件。
```diff
version: "3"
@@ -126,9 +126,9 @@ services:
+ - ./mysql:/var/lib/mysql
```
### PostgreSQL 数据库
### PostgreSQL 資料庫
Gitea PostgreSQL 数据库结合使用,请将这些更改应用于上面创建`docker-compose.yml` 文件。
Gitea PostgreSQL 資料庫結合使用,請將這些更改應用於上面建立`docker-compose.yml` 文件。
```diff
version: "3"
@@ -177,7 +177,7 @@ services:
## 命名卷
要使用命名卷而不是主卷,`docker-compose.yml` 配置中定义并使用命名卷。此更改将自动创建所需的卷。您无需担心命名卷的Docker 将自动处理该问题
要使用命名卷而不是主卷,`docker-compose.yml` 設定中定義並使用命名卷。此更改將自動建立所需的卷。您無需擔心命名卷的Docker 將自動處理該問題
```diff
version: "3"
@@ -207,59 +207,59 @@ services:
- "222:22"
```
MySQL 或 PostgreSQL 容器需要分别创建
MySQL 或 PostgreSQL 容器需要分別建立
## 启动
## 啟動
要基 `docker-compose` 启动此设置,请执`docker-compose up -d`,以在后台启动 Gitea。使用 `docker-compose ps` 将显示 Gitea 是否正确启动。可以使用 `docker-compose logs` 查看日
要基 `docker-compose` 啟動此設定,請執`docker-compose up -d`,以在後臺啟動 Gitea。使用 `docker-compose ps` 將顯示 Gitea 是否正確啟動。可以使用 `docker-compose logs` 查看日
关闭设置,请执`docker-compose down`这将停止并杀死容器。些卷仍然存在。
關閉設定,請執`docker-compose down`這將停止並殺死容器。些卷仍然存在。
注意:如果在 http 上使用非 3000 端口,更改 app.ini 以匹配 `LOCAL_ROOT_URL = http://localhost:3000/`
注意:如果在 http 上使用非 3000 端口,更改 app.ini 以匹配 `LOCAL_ROOT_URL = http://localhost:3000/`
## 安
## 安
`docker-compose` 启动 Docker 安装后,应该可以使用喜欢的浏览器访问 Gitea以完成安装。访问 http://server-ip:3000 遵循安装向导。如果数据库是通上述 `docker-compose` 设置启动的,注意,必须将 `db` 用作数据库主机名。
`docker-compose` 啟動 Docker 安裝後,應該可以使用喜歡的瀏覽器訪問 Gitea以完成安裝。訪問 http://server-ip:3000 遵循安裝嚮導。如果資料庫是通上述 `docker-compose` 設定啟動的,注意,必須將 `db` 用作資料庫主機名。
## 环境变
## 環境變
您可以通过环境变量配置 Gitea 的一些设置
您可以透過環境變量設定 Gitea 的一些設定
默认值以**粗**示)
預設值以**粗**示)
- `APP_NAME`**“Gitea: Git with a cup of tea”**用程序名称,在页面标题中使用。
- `RUN_MODE`**prod**用程序运行模式,会影响性能和调试。"dev""prod"或"test"。
- `DOMAIN`**localhost**:此服器的域名,用 Gitea UI 中示的 http 克隆 URL。
- `SSH_DOMAIN`**localhost**该服务器的域名,用 Gitea UI 中示的 ssh 克隆 URL。如果用了安装页面, SSH 域服务器将采用以下形式的 DOMAIN 值(保存时将覆盖此设置)。
- `SSH_PORT`**22**:克隆 URL 中示的 SSH 端口。
- `SSH_LISTEN_PORT`**%(SSH_PORT)s**置 SSH 服器的端口。
- `DISABLE_SSH`**false**:如果不可用,禁用 SSH 功能。如果要禁用 SSH 功能,在安 Gitea 时应将 SSH 端口设置为 `0`
- `HTTP_PORT`**3000**HTTP 监听端口。
- `ROOT_URL`**""**:覆盖自动生成的公共 URL。如果部 URL 和外部 URL 不匹配(例如在 Docker 中),很有用。
- `LFS_START_SERVER`**false**用 git-lfs 支
- `DB_TYPE`**sqlite3**:正在使用的数据库类型[mysqlpostgresmssqlsqlite3]。
- `DB_HOST`**localhost:3306**数据库主机地址和端口。
- `DB_NAME`**gitea**数据库名称
- `DB_USER`**root**数据库用户名
- `DB_PASSWD`**"_empty_"** 数据库用户密码。如果您在密中使用特殊字符,使用“您的密码”进行引用。
- `INSTALL_LOCK`**false**:禁止访问安装页面。
- `SECRET_KEY`**""** :全局密钥。这应该更改。如果它具有一个值并`INSTALL_LOCK` 空, `INSTALL_LOCK` 将自动设置为 `true`
- `DISABLE_REGISTRATION`**false**:禁用注册,之只有管理才能为用户创建帐户
- `REQUIRE_SIGNIN_VIEW`**false**用此选项可强制用户登录以查看任何面。
- `USER_UID`**1000**:在容器内运行 Gitea 的用户的 UIDUnix 用户 ID。如果使用主卷,则将其与 `/data` 卷的所有者的 UID 匹配(对于命名卷,不需要这样做)。
- `USER_GID`**1000**:在容器内运行 Gitea 的用户的 GIDUnix ID。如果使用主卷,则将其与 `/data` 卷的所有者的 GID 匹配(对于命名卷,不需要这样做)。
- `APP_NAME`**“Gitea: Git with a cup of tea”**用程式名稱,在頁面標題中使用。
- `RUN_MODE`**prod**用程式運行模式,會影響性能和調試。"dev""prod"或"test"。
- `DOMAIN`**localhost**:此服器的域名,用 Gitea UI 中示的 http 克隆 URL。
- `SSH_DOMAIN`**localhost**該伺服器的域名,用 Gitea UI 中示的 ssh 克隆 URL。如果用了安裝頁面, SSH 域伺服器將採用以下形式的 DOMAIN 值(保存時將覆蓋此設定)。
- `SSH_PORT`**22**:克隆 URL 中示的 SSH 端口。
- `SSH_LISTEN_PORT`**%(SSH_PORT)s**置 SSH 服器的端口。
- `DISABLE_SSH`**false**:如果不可用,禁用 SSH 功能。如果要禁用 SSH 功能,在安 Gitea 時應將 SSH 端口設定爲 `0`
- `HTTP_PORT`**3000**HTTP 監聽端口。
- `ROOT_URL`**""**:覆蓋自動生成的公共 URL。如果部 URL 和外部 URL 不匹配(例如在 Docker 中),很有用。
- `LFS_START_SERVER`**false**用 git-lfs 支
- `DB_TYPE`**sqlite3**:正在使用的資料庫類型[mysqlpostgresmssqlsqlite3]。
- `DB_HOST`**localhost:3306**資料庫主機地址和端口。
- `DB_NAME`**gitea**資料庫名稱
- `DB_USER`**root**資料庫使用者名稱
- `DB_PASSWD`**"_empty_"** 資料庫使用者密碼。如果您在密中使用特殊字符,使用“您的密碼”進行引用。
- `INSTALL_LOCK`**false**:禁止訪問安裝頁面。
- `SECRET_KEY`**""** :全域密鑰。這應該更改。如果它具有一個值並`INSTALL_LOCK` 空, `INSTALL_LOCK` 將自動設定爲 `true`
- `DISABLE_REGISTRATION`**false**:禁用註冊,之只有管理才能爲使用者建立帳戶
- `REQUIRE_SIGNIN_VIEW`**false**用此選項可強制使用者登入以查看任何面。
- `USER_UID`**1000**:在容器內運行 Gitea 的使用者的 UIDUnix 使用者 ID。如果使用主卷,則將其與 `/data` 卷的所有者的 UID 匹配(對於命名卷,不需要這樣做)。
- `USER_GID`**1000**:在容器內運行 Gitea 的使用者的 GIDUnix ID。如果使用主卷,則將其與 `/data` 卷的所有者的 GID 匹配(對於命名卷,不需要這樣做)。
## 自定义
## 自
[](../administration/customizing-gitea.md)描述的定文件放在 `/data/gitea`中。如果使用主卷,则访问这些文件非常容易;对于命名卷,可以通过另一容器或通直接访问 `/var/lib/docker/volumes/gitea_gitea/_data` 完成。安装后,配置文件保存在 `/data/gitea/conf/app.ini` 中。
[](../administration/customizing-gitea.md)描述的定文件放在 `/data/gitea`中。如果使用主卷,則訪問這些文件非常容易;對於命名卷,可以透過另一容器或通直接訪問 `/var/lib/docker/volumes/gitea_gitea/_data` 完成。安裝後,設定文件保存在 `/data/gitea/conf/app.ini` 中。
## 升
## 升
:::warning
:exclamation::exclamation: **保已将数据卷到 Docker 容器外部的某位置** :exclamation::exclamation:
:exclamation::exclamation: **保已將資料捲到 Docker 容器外部的某位置** :exclamation::exclamation:
:::
将安装升级到最新版本:
將安裝升級到最新版本:
```bash
# Edit `docker-compose.yml` to update the version, if you have one specified
@@ -269,9 +269,9 @@ docker-compose pull
docker-compose up -d
```
## 使用环境变量管理部署
## 使用環境變量管理部署
除了上面的环境变量之外,`app.ini` 中的任何设置都可以使用以下形式的环境变量进行设置或覆`GITEA__SECTION_NAME__KEY_NAME`。 每次 docker 容器启动时都会应用这些设置。 完整信息在[这里](https://github.com/go-gitea/gitea/tree/master/contrib/environment-to-ini)。
除了上面的環境變量之外,`app.ini` 中的任何設定都可以使用以下形式的環境變量進行設定或覆`GITEA__SECTION_NAME__KEY_NAME`。 每次 docker 容器啟動時都會應用這些設定。 完整資訊在[這裏](https://github.com/go-gitea/gitea/tree/master/contrib/environment-to-ini)。
```bash
...
@@ -286,9 +286,9 @@ services:
- GITEA__mailer__PASSWD="""${GITEA__mailer__PASSWD:?GITEA__mailer__PASSWD not set}"""
```
Gitea 将为每次新安装自动生成新的 `SECRET_KEY` 并将它们写`app.ini`。 如果您想手动设置 `SECRET_KEY`,您可以使用以下 docker 命令使用 Gitea 置的[方法](../administration/command-line.md#generate)生成 `SECRET_KEY`。 安装后请妥善保管您的 `SECRET_KEY`,如若丢失则无法解密已加密的数据
Gitea 將爲每次新安裝自動生成新的 `SECRET_KEY` 並將它們寫`app.ini`。 如果您想手動設定 `SECRET_KEY`,您可以使用以下 docker 命令使用 Gitea 置的[方法](../administration/command-line.md#generate)生成 `SECRET_KEY`。 安裝後請妥善保管您的 `SECRET_KEY`,如若丟失則無法解密已加密的資料
以下命令`stdout` 出一新的 `SECRET_KEY``INTERNAL_TOKEN`,然您可以其放入环境变量中。
以下命令`stdout` 出一新的 `SECRET_KEY``INTERNAL_TOKEN`,然您可以其放入環境變量中。
```bash
docker run -it --rm docker.gitea.com/gitea:1 gitea generate secret SECRET_KEY
@@ -307,9 +307,9 @@ services:
## SSH 容器直通
SSH 在容器内运行,因此,如果需要 SSH 支持,则需要 SSH 从主机传递到容器。一种选择是在非标准端口上行容器 SSH将主机端口移至非标准端口)。另一可能更直接的选择是将 SSH 连接从主机转发到容器。下面将说明此设置
SSH 在容器內運行,因此,如果需要 SSH 支援,則需要 SSH 從主機傳遞到容器。一種選擇是在非標準端口上行容器 SSH將主機端口移至非標準端口)。另一可能更直接的選擇是將 SSH 連接從主機轉發到容器。下面將說明此設定
本指南假定您已在名 `git` 的主机上创建了一个用户,该用户与容器值 `USER_UID`/`USER_GID` 共享相同的 `UID`/`GID`些值可以在 `docker-compose.yml`设置为环境变量:
本指南假定您已在名 `git` 的主機上建立了一個使用者,該使用者與容器值 `USER_UID`/`USER_GID` 共享相同的 `UID`/`GID`些值可以在 `docker-compose.yml`設定爲環境變量:
```bash
environment:
@@ -317,26 +317,26 @@ environment:
- USER_GID=1000
```
接下来将主机`/home/git/.ssh` 入容器。否SSH 身份验证将无法在容器内运行。
接下來將主機`/home/git/.ssh` 入容器。否SSH 身份驗證將無法在容器內運行。
```bash
volumes:
- /home/git/.ssh/:/data/git/.ssh
```
在,需要在主机上创建 SSH 密钥对。该密钥对将用于向主机验证主机上的 `git` 用户
在,需要在主機上建立 SSH 密鑰對。該密鑰對將用於向主機驗證主機上的 `git` 使用者
```bash
sudo -u git ssh-keygen -t rsa -b 4096 -C "Gitea Host Key"
```
在下一步中,需要在主机上创建一个名为 `/usr/local/bin/gitea` 的文件(具有可执行权限)。文件将发出从主机到容器的 SSH 转发。将以下容添加到 `/usr/local/bin/gitea`
在下一步中,需要在主機上建立一個名爲 `/usr/local/bin/gitea` 的文件(具有可執行權限)。文件將發出從主機到容器的 SSH 轉發。將以下容添加到 `/usr/local/bin/gitea`
```bash
ssh -p 2222 -o StrictHostKeyChecking=no git@127.0.0.1 "SSH_ORIGINAL_COMMAND=\"$SSH_ORIGINAL_COMMAND\" $0 $@"
```
了使转发正常工作,需要容器22的 SSH 端口映射到 `docker-compose.yml` 中的主端口 2222。由此端口不需要暴露外界,因此可以其映射到主`localhost`
了使轉發正常工作,需要容器22的 SSH 端口映射到 `docker-compose.yml` 中的主端口 2222。由此端口不需要暴露外界,因此可以其映射到主`localhost`
```bash
ports:
@@ -344,9 +344,9 @@ ports:
- "127.0.0.1:2222:22"
```
另外,主上的 `/home/git/.ssh/authorized_keys` 需要修改。它需要以 Gitea 容器`authorized_keys` 相同的方式行操作。因此,您在上面建的密“Gitea 主机密钥”)的公共密添加到 `/home/git/.ssh/authorized_keys`可以通过 `echo "$(cat /home/git/.ssh/id_rsa.pub)" >> /home/git/.ssh/authorized_keys` 完成。重要提示:`git` 用户的公需要“按原”添加,而通 Gitea 网络界面添加的所有其他公钥将`command="/app [...]`为前缀
另外,主上的 `/home/git/.ssh/authorized_keys` 需要修改。它需要以 Gitea 容器`authorized_keys` 相同的方式行操作。因此,您在上面建的密“Gitea 主機密鑰”)的公共密添加到 `/home/git/.ssh/authorized_keys`可以透過 `echo "$(cat /home/git/.ssh/id_rsa.pub)" >> /home/git/.ssh/authorized_keys` 完成。重要提示:`git` 使用者的公需要“按原”添加,而通 Gitea 網路介面添加的所有其他公鑰將`command="/app [...]`爲前綴
文件应该看起像:
文件應該看起像:
```bash
# SSH pubkey from git user
@@ -356,19 +356,19 @@ ssh-rsa <Gitea Host Key>
command="/usr/local/bin/gitea --config=/data/gitea/conf/app.ini serv key-1",no-port-forwarding,no-X11-forwarding,no-agent-forwarding,no-pty <user pubkey>
```
这是详细的说明,当发出 SSH 请求时会发生什
這是詳細的說明,當發出 SSH 請求時會發生什
1. 使用 `git` 用户向主机发出 SSH 求,例如 `git clone git@domain:user/repo.git`
2.`/home/git/.ssh/authorized_keys` 中,命令`/usr/local/bin/gitea` 本。
3. `/usr/local/bin/gitea` SSH 请求转发到端口 2222端口已映射到容器的 SSH 端口22
4. `/home/git/.ssh/authorized_keys` 中存在 `git` 用户的公,因此身份验证主机 → 容器成功,且 SSH 请求转发到在 docker 容器中行的 Gitea。
1. 使用 `git` 使用者向主機發出 SSH 求,例如 `git clone git@domain:user/repo.git`
2.`/home/git/.ssh/authorized_keys` 中,命令`/usr/local/bin/gitea` 本。
3. `/usr/local/bin/gitea` SSH 請求轉發到端口 2222端口已映射到容器的 SSH 端口22
4. `/home/git/.ssh/authorized_keys` 中存在 `git` 使用者的公,因此身份驗證主機 → 容器成功,且 SSH 請求轉發到在 docker 容器中行的 Gitea。
如果在 Gitea Web 面中添加了新的 SSH 密,它将以与现有密相同的方式附加到 `.ssh/authorized_keys` 中。
如果在 Gitea Web 面中添加了新的 SSH 密,它將以與現有密相同的方式附加到 `.ssh/authorized_keys` 中。
**注意**
SSH 容器直通在以下情下有效
SSH 容器直通在以下情下有效
- 在容器中使用 `opensshd`
- 如果未 `AuthorizedKeysCommand` `SSH_CREATE_AUTHORIZED_KEYS_FILE = false` 合使用以禁用授文件密生成
- `LOCAL_ROOT_URL`
- 如果未 `AuthorizedKeysCommand` `SSH_CREATE_AUTHORIZED_KEYS_FILE = false` 合使用以禁用授文件密生成
- `LOCAL_ROOT_URL`