@@ -23,7 +23,7 @@ Gitea 在其 Docker Hub 组织内提供自动更新的 Docker 镜像。可以始
23
23
24
24
## 基本
25
25
26
- 最简单的设置只是创建一个卷和一个网络,然后将 ` gitea/gitea:latest ` 镜像作为服务启动。由于没有可用的数据库,因此可以使用 SQLite3 初始化数据库。创建一个类似 ` gitea ` 的目录,并将以下内容粘贴到名为 ` docker-compose.yml ` 的文件中。请注意,该卷应由配置文件中指定的 UID/GID 的用户/组拥有。如果您不授予卷正确的权限,则容器可能无法启动。另请注意,标签 ` :latest ` 将安装当前的开发版本。对于稳定的发行版,您可以使用 ` :1 ` 或指定某个发行版,例如 ` :1.13.0 ` 。
26
+ 最简单的设置只是创建一个卷和一个网络,然后将 ` gitea/gitea:latest ` 镜像作为服务启动。由于没有可用的数据库,因此可以使用 SQLite3 初始化数据库。创建一个类似 ` gitea ` 的目录,并将以下内容粘贴到名为 ` docker-compose.yml ` 的文件中。请注意,该卷应由配置文件中指定的 UID/GID 的用户/组拥有。如果您不授予卷正确的权限,则容器可能无法启动。另请注意,标签 ` :latest ` 将安装当前的开发版本。对于稳定的发行版,您可以使用 ` :1 ` 或指定某个发行版,例如 ` {{< version >}} ` 。
27
27
28
28
``` yaml
29
29
version : " 3"
@@ -103,11 +103,11 @@ services:
103
103
environment:
104
104
- USER_UID=1000
105
105
- USER_GID=1000
106
- + - DB_TYPE =mysql
107
- + - DB_HOST =db:3306
108
- + - DB_NAME =gitea
109
- + - DB_USER =gitea
110
- + - DB_PASSWD =gitea
106
+ + - GITEA__database__DB_TYPE =mysql
107
+ + - GITEA__database__HOST =db:3306
108
+ + - GITEA__database__NAME =gitea
109
+ + - GITEA__database__USER =gitea
110
+ + - GITEA__database__PASSWD =gitea
111
111
restart: always
112
112
networks:
113
113
- gitea
@@ -153,11 +153,11 @@ services:
153
153
environment:
154
154
- USER_UID=1000
155
155
- USER_GID=1000
156
- + - DB_TYPE =postgres
157
- + - DB_HOST =db:5432
158
- + - DB_NAME =gitea
159
- + - DB_USER =gitea
160
- + - DB_PASSWD =gitea
156
+ + - GITEA__database__DB_TYPE =postgres
157
+ + - GITEA__database__HOST =db:5432
158
+ + - GITEA__database__NAME =gitea
159
+ + - GITEA__database__USER =gitea
160
+ + - GITEA__database__PASSWD =gitea
161
161
restart: always
162
162
networks:
163
163
- gitea
@@ -276,6 +276,42 @@ docker-compose pull
276
276
docker-compose up -d
277
277
```
278
278
279
+ ## 使用环境变量管理部署
280
+
281
+ 除了上面的环境变量之外,` app.ini ` 中的任何设置都可以使用以下形式的环境变量进行设置或覆盖:` GITEA__SECTION_NAME__KEY_NAME ` 。 每次 docker 容器启动时都会应用这些设置。 完整信息在[ 这里] ( https://github.com/go-gitea/gitea/tree/master/contrib/environment-to-ini ) 。
282
+
283
+ ``` bash
284
+ ...
285
+ services:
286
+ server:
287
+ environment:
288
+ - GITEA__mailer__ENABLED=true
289
+ - GITEA__mailer__FROM=${GITEA__mailer__FROM:? GITEA__mailer__FROM not set}
290
+ - GITEA__mailer__MAILER_TYPE=smtp
291
+ - GITEA__mailer__HOST=${GITEA__mailer__HOST:? GITEA__mailer__HOST not set}
292
+ - GITEA__mailer__IS_TLS_ENABLED=true
293
+ - GITEA__mailer__USER=${GITEA__mailer__USER:- apikey}
294
+ - GITEA__mailer__PASSWD=" " " ${GITEA__mailer__PASSWD:? GITEA__mailer__PASSWD not set} " " "
295
+ ```
296
+
297
+ Gitea 将为每次新安装自动生成新的 ` SECRET_KEY ` 并将它们写入 ` app.ini ` 。 如果您想手动设置 ` SECRET_KEY ` ,您可以使用以下 docker 命令来使用 Gitea 内置的[ 方法] ( https://docs.gitea.io/en-us/command-line/#generate ) 生成 ` SECRET_KEY ` 。 安装后请妥善保管您的 ` SECRET_KEY ` ,如若丢失则无法解密已加密的数据。
298
+
299
+ 以下命令将向 ` stdout ` 输出一个新的 ` SECRET_KEY ` 和 ` INTERNAL_TOKEN ` ,然后您可以将其放入环境变量中。
300
+
301
+ ``` bash
302
+ docker run -it --rm gitea/gitea:1 gitea generate secret SECRET_KEY
303
+ docker run -it --rm gitea/gitea:1 gitea generate secret INTERNAL_TOKEN
304
+ ```
305
+
306
+ ``` yaml
307
+ ...
308
+ services :
309
+ server :
310
+ environment :
311
+ - GITEA__security__SECRET_KEY=[value returned by generate secret SECRET_KEY]
312
+ - GITEA__security__INTERNAL_TOKEN=[value returned by generate secret INTERNAL_TOKEN]
313
+ ` ` `
314
+
279
315
## SSH 容器直通
280
316
281
317
由于 SSH 在容器内运行,因此,如果需要 SSH 支持,则需要将 SSH 从主机传递到容器。一种选择是在非标准端口上运行容器 SSH(或将主机端口移至非标准端口)。另一个可能更直接的选择是将 SSH 连接从主机转发到容器。下面将说明此设置。
0 commit comments