Update zh tw languages and fix some broken links (#455)

---------

Co-authored-by: silverwind <me@silverwind.io>
Co-authored-by: silverwind <2021+silverwind@noreply.gitea.com>
Reviewed-on: https://gitea.com/gitea/docs/pulls/455
Reviewed-by: silverwind <2021+silverwind@noreply.gitea.com>
This commit is contained in:
Lunny Xiao
2026-07-09 23:41:46 +00:00
parent c0f8a04185
commit 965c269495
652 changed files with 30864 additions and 30792 deletions

View File

@@ -10,11 +10,11 @@ aliases:
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@`,但如果您想使用 Gitea 的最新開發版本,則可以使用 `:nightly` 標籤。如果您想運行來自發布分支的最新提交,可以使用 `:1.x-nightly` 標籤,其中 x 是 Gitea 的次要版本。(例如 `:1.16-nightly`
最簡單的設只需建一個卷和一個網,並將 `docker.gitea.com/gitea:latest` 映像作為服務啟動。由於沒有可用的資料庫,可以使用 SQLite3 進行初始化。建一個名為 `gitea` 的目錄,並將以下內容粘貼到名為 `docker-compose.yml` 的文件中。請注意,卷應由設定文件中指定的 UID/GID 的使用者/組擁有。如果您未給卷正確的權限,容器可能無法啟動。對於穩定版本,您可以使用 `:latest``:1` 或指定某個版本,如 `:@dockerVersion@`,但如果您想使用 Gitea 的最新開發版本,則可以使用 `:nightly` 標籤。如果您想運行來自發布分支的最新提交,可以使用 `:1.x-nightly` 標籤,其中 x 是 Gitea 的次要版本。(例如 `:1.16-nightly`
```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,19 +207,19 @@ services:
- "222:22"
```
MySQL 或 PostgreSQL 容器需要單獨建。
MySQL 或 PostgreSQL 容器需要單獨建
## 啟動
:::note
從 2023 年 7 月起Compose V1 停止接收更新。它也不再包含在 Docker Desktop 的新版本中。
Compose V2 包含在所有當前支的 Docker Desktop 版本中。請使用 V2 進行以下操作。
Compose V2 包含在所有當前支的 Docker Desktop 版本中。請使用 V2 進行以下操作。
:::
要基於 `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`。這將停止並殺死容器。卷仍然存在。
:::note
如果在 http 上使用非 3000 端口,請更改 app.ini 以匹配 `LOCAL_ROOT_URL = http://localhost:3000/`
@@ -227,22 +227,22 @@ Compose V2 包含在所有當前支持的 Docker Desktop 版本中。請使用 V
## 安裝
通過 `docker-compose` 啟動 Docker 設後,應該可以使用喜愛的瀏覽器來完成安裝。訪問 http://server-ip:3000 並按照安裝向導進行操作。如果數據庫是使用上述 `docker-compose`啟動的,請注意,數據庫主機名必須使用 `db`
通過 `docker-compose` 啟動 Docker 設後,應該可以使用喜愛的瀏覽器來完成安裝。訪問 http://server-ip:3000 並按照安裝向導進行操作。如果資料庫是使用上述 `docker-compose`啟動的,請注意,資料庫主機名必須使用 `db`
## 使用環境變量配置 Gitea 內的用戶
## 使用環境變量設定 Gitea 內的使用者
- `USER`: **git**: 在容器內運行 Gitea 的用戶名
- `USER_UID`: **1000**: 在容器內運行 Gitea 的用戶的 UIDUnix 用戶 ID。如果使用主機卷請將其與 `/data` 卷的所有者的 UID 匹配(使用命名卷時不需要)。
- `USER_GID`: **1000**: 在容器內運行 Gitea 的用戶的 GIDUnix 組 ID。如果使用主機卷請將其與 `/data` 卷的所有者的 GID 匹配(使用命名卷時不需要)。
- `USER`: **git**: 在容器內運行 Gitea 的使用者名稱
- `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
確保您已將卷數據保存到 Docker 容器外的某個位置
確保您已將卷資料保存到 Docker 容器外的某個位置
:::
要將您的安裝升級到最新版本:
@@ -257,11 +257,11 @@ docker-compose up -d
## 使用環境變量管理部署
除了上述的環境變量外,`app.ini` 中的任何設都可以使用形式為 `GITEA__SECTION_NAME__KEY_NAME` 的環境變量進行設或覆蓋。這些設在每次 Docker 容器啟動時應用,不會傳遞到 Gitea 的子進程中。完整信息[在此](https://github.com/go-gitea/gitea/tree/master/contrib/environment-to-ini)。
除了上述的環境變量外,`app.ini` 中的任何設都可以使用形式為 `GITEA__SECTION_NAME__KEY_NAME` 的環境變量進行設或覆蓋。這些設在每次 Docker 容器啟動時應用,不會傳遞到 Gitea 的子進程中。完整資訊[在此](https://github.com/go-gitea/gitea/tree/master/contrib/environment-to-ini)。
這些環境變量可以在 `docker-compose.yml` 中傳遞給 Docker 容器。以下例將在設所需的環境變量 `GITEA__mailer__FROM``GITEA__mailer__HOST``GITEA__mailer__PASSWD` 時啟用 SMTP 郵件服器。
這些環境變量可以在 `docker-compose.yml` 中傳遞給 Docker 容器。以下例將在設所需的環境變量 `GITEA__mailer__FROM``GITEA__mailer__HOST``GITEA__mailer__PASSWD` 時啟用 SMTP 郵件服器。
這些設也可以過定義形式為 `GITEA__section_name__KEY_NAME__FILE` 的環境變量並指向文件的內容來設或覆蓋。
這些設也可以過定義形式為 `GITEA__section_name__KEY_NAME__FILE` 的環境變量並指向文件的內容來設或覆蓋。
```yaml
---
@@ -277,7 +277,7 @@ services:
- GITEA__mailer__PASSWD="""${GITEA__mailer__PASSWD:?GITEA__mailer__PASSWD not set}"""
```
Gitea 將自動為每個新安裝生成新的密鑰/令牌並將其寫入 app.ini。如果您想手動設密鑰/令牌,可以使用以下 Docker 命令來使用 Gitea 的內置[生成實用程函數](../administration/command-line.md#generate)。安裝後請勿丟失/更改您的 SECRET_KEY否則加密數據將無法解密。
Gitea 將自動為每個新安裝生成新的密鑰/令牌並將其寫入 app.ini。如果您想手動設密鑰/令牌,可以使用以下 Docker 命令來使用 Gitea 的內置[生成實用程函數](../administration/command-line.md#generate)。安裝後請勿丟失/更改您的 SECRET_KEY否則加密資料將無法解密。
以下命令將輸出新的 `SECRET_KEY``INTERNAL_TOKEN``stdout`,然後您可以將其放置在您的環境變量中。
@@ -297,27 +297,27 @@ services:
## SSH 容器透傳
由於 SSH 在容器內運行,如果需要 SSH 支,則需要將 SSH 從主機透傳到容器。一個選項是將容器 SSH 運行在非標準端口(或將主機端口移動到非標準端口)。另一個可能更直接的選項是讓 Gitea 用戶 SSH 到主機上的 Gitea 用戶,然後將這些連接中繼到 Docker。或者如果主機有多個 IP 地址主機可以在一個上監聽Gitea 在另一個上監聽。
由於 SSH 在容器內運行,如果需要 SSH 支,則需要將 SSH 從主機透傳到容器。一個選項是將容器 SSH 運行在非標準端口(或將主機端口移動到非標準端口)。另一個可能更直接的選項是讓 Gitea 使用者 SSH 到主機上的 Gitea 使用者,然後將這些連接中繼到 Docker。或者如果主機有多個 IP 地址主機可以在一個上監聽Gitea 在另一個上監聽。
### 理解對 Gitea 的 SSH 訪問(無需透傳)
要理解需要發生什麼,首先需要理解在沒有透傳的情況下會發生什麼。因此,我們將嘗試解釋這一點:
1. 客戶端使用網頁將其 SSH 公鑰添加到 Gitea。
2. Gitea 將為此密鑰在其運行用戶 `git``.ssh/authorized_keys` 文件中添加一個條目。
3. 此條目具有公鑰,但也具有 `command=` 選項。Gitea 使用此命令將此密鑰與客戶端用戶匹配並管理身份驗證。
4. 然後,客戶端使用 `git` 用戶向 SSH 服器發出 SSH 請求,例如 `git clone git@domain:user/repo.git`
5. 客戶端將嘗試與服器進行身份驗證,一次向服器傳遞一個或多個公鑰。
6. 對於客戶端提供的每個密鑰SSH 服器將首先檢查其配置中的 `AuthorizedKeysCommand` 以查看公鑰是否匹配,然後檢查 `git` 用戶`authorized_keys` 文件。
2. Gitea 將為此密鑰在其運行使用者 `git``.ssh/authorized_keys` 文件中添加一個條目。
3. 此條目具有公鑰,但也具有 `command=` 選項。Gitea 使用此命令將此密鑰與客戶端使用者匹配並管理身份驗證。
4. 然後,客戶端使用 `git` 使用者向 SSH 服器發出 SSH 請求,例如 `git clone git@domain:user/repo.git`
5. 客戶端將嘗試與服器進行身份驗證,一次向服器傳遞一個或多個公鑰。
6. 對於客戶端提供的每個密鑰SSH 服器將首先檢查其設定中的 `AuthorizedKeysCommand` 以查看公鑰是否匹配,然後檢查 `git` 使用者`authorized_keys` 文件。
7. 將選擇第一個匹配的條目,假設這是 Gitea 條目,則現在將執行 `command=`
8. SSH 服器為 `git` 用戶創建一個用戶會話,並使用 `git` 用戶的 shell 運行 `command=`
8. SSH 服器為 `git` 使用者建立一個使用者會話,並使用 `git` 使用者的 shell 運行 `command=`
9. 這將運行 `gitea serv`,接管 SSH 會話的其餘部分並管理 gitea 的身份驗證和授權。
現在,要使 SSH 透傳工作,我們需要主機 SSH 匹配公鑰,然後在 Docker 上運行 `gitea serv`。有多種方法可以做到這一點。然而,所有這些都需要將有關 Docker 的一些信息傳遞給主機。
現在,要使 SSH 透傳工作,我們需要主機 SSH 匹配公鑰,然後在 Docker 上運行 `gitea serv`。有多種方法可以做到這一點。然而,所有這些都需要將有關 Docker 的一些資訊傳遞給主機。
### SSHing Shim使用 authorized_keys
在此選項中,主機只需使用 gitea 建的 `authorized_keys`,但在第 9 步中,主機運行的 `gitea` 命令是一個 shim實際上運行 ssh 進入 docker然後運行真正的 docker `gitea` 本身。
在此選項中,主機只需使用 gitea 建`authorized_keys`,但在第 9 步中,主機運行的 `gitea` 命令是一個 shim實際上運行 ssh 進入 docker然後運行真正的 docker `gitea` 本身。
- 要使轉發工作,容器的 SSH 端口22需要在 `docker-compose.yml` 中映射到主機端口 2222。由於此端口不需要暴露給外界因此可以映射到主機的 `localhost`
@@ -327,7 +327,7 @@ services:
- "127.0.0.1:2222:22"
```
- 接下來在主機上建與容器值 `USER_UID`/`USER_GID` 共享相同 `UID`/`GID` 的 `git` 用戶。這些值可以在 `docker-compose.yml` 中設為環境變量:
- 接下來在主機上建與容器值 `USER_UID`/`USER_GID` 共享相同 `UID`/`GID` 的 `git` 使用者。這些值可以在 `docker-compose.yml` 中設為環境變量:
```yaml
environment:
@@ -335,7 +335,7 @@ services:
- USER_GID=1000
```
- 將主機的 `/home/git/.ssh` 安裝到容器中。這確保了 `authorized_keys` 文件在主機 `git` 用戶和容器 `git` 用戶之間共享,否則 SSH 身份驗證無法在容器內工作。
- 將主機的 `/home/git/.ssh` 安裝到容器中。這確保了 `authorized_keys` 文件在主機 `git` 使用者和容器 `git` 使用者之間共享,否則 SSH 身份驗證無法在容器內工作。
```yaml
volumes: