mirror of
https://gitea.com/gitea/docs.git
synced 2026-07-22 11:07:50 +00:00
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:
@@ -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 伺服器。
|
||||
|
||||
Reference in New Issue
Block a user