如果有一台 … 阅读全文
如果有一台专用的 vps 来部署 Gitea 服务的话,可以直接映射到 80 和 22 端口。
ports:
- "80:3000"
- "22:22"
这样的话可以直接通过 ip 地址或域名在浏览器中不带端口号进行访问。
app.ini 文件配置
以下示例使用 3000 和 2222 端口。
配置好 docker 容器之后,访问 ip: 3000 进入网页初始化界面,按照提示配置即可,比较简单,就不上图了。重点是,后续如何更改配置。
网页初始化的配置文件在 /path/to/gitea-data/gitea/conf/app.ini 路径中。
APP_NAME = Gitea: Git with a cup of tea
RUN_MODE = prod
RUN_USER = git
WORK_PATH = /data/gitea
[repository]
ROOT = /data/git/repositories
[repository.local]
LOCAL_COPY_PATH = /data/gitea/tmp/local-repo
[repository.upload]
TEMP_PATH = /data/gitea/uploads
[server]
APP_DATA_PATH = /data/gitea
DOMAIN = gitea.domain
SSH_DOMAIN = gitea.domain
HTTP_PORT = 3000
ROOT_URL = https://gitea.domain:port/
DISABLE_SSH = false
SSH_PORT = 2222
SSH_LISTEN_PORT = 22
LFS_START_SERVER = true
LFS_JWT_SECRET = v7cZ2_HQwqXuNTeRJ509CpNDaBqBdZ6PXItuMlwnPBg
OFFLINE_MODE = true
……
大概内容如上所示,需要关注的可修改对象主要为 [server]:
- DOMAIN:服务器绑定的域名
- SSH_DOMAIN:所用 SSH 服务的域名,一般来说与 DOMAIN 相同
- HTTP_PORT:容器内网页服务端口
- ROOT_URL:实际访问所使用的网址链接,如果进行了反向代理,需填写代理后的网址
- SSH_PORT:实际 SSH 服务所使用的端口
- SSH_LISTEN_PORT:容器内 SSH 端口,不可修改
由于我已经对 3000 端口网页进行了反向代理,因此使用了 https。
反向代理与端口转发
3000 端口的网页使用 http 协议,因此可以直接进行方向代理。
https://gitea.domain:port/ -> http://ip:3000
但是 2222 端口使用的 SSH 服务是不能反向代理的,只能进行端口转发或者直连。
这两点要尤其注意。
我的方案
路由器:Lucky 反向代理内网 NAS 的 Gitea 网页服务,Lucky 将 tcp4/tcp6 的 NAS 上 2222 端口转发到路由器的 2222 端口,然后防火墙进行放行即可。 收起