On this page... (hide)
- 1. 安装与基本配置
- 2. 迁移仓库时使用指定代理
有些个人用的代码片段,不一定愿意放在 GitHub 等公开服务上,这时架设一个自有的 Git 存储服务也是蛮好的,其中最简单易用的就是 Gitea 。
1. 安装与基本配置
Gitea 的安装很简单,从官网下载二进制的可执行包,然后执行 gitea web 这个指令就行了。(需要本地先有 git ,没有的话可以装 Linux 发行版提供的 git 软件包。)
如果希望让 Gitea 作为服务运行,可以把它放在 Supervisor 里管理,例如 Supervisor 的配置文件可以这么写(配置文件需要在环境变量里指明执行 Gitea 的用户和 home 目录):
[program:gitea]
command=/opt/gitea/gitea web
autorestart=true
user=appuser
environment = HOME="/home/appuser", USER="appuser"
command=/opt/gitea/gitea web
autorestart=true
user=appuser
environment = HOME="/home/appuser", USER="appuser"
Gitea 的初始配置过程,会需要提供一个操作系统普通 user,以便 Gitea 运行在非 root 账号下,可能应该禁止这个 user 通过 shell 登陆系统,以加强安全性。
2. 迁移仓库时使用指定代理
在国内服务器上镜像 GitHub 之类的国外仓库时,经常会因为网络原因失败,此时最理想的解决方案就是让 Gitea 自动使用一个有效的代理服务器。
编辑配置文件 /opt/gitea/custom/conf/app.ini ,加入如下这些行:
[proxy]
PROXY_ENABLED = true
PROXY_URL = socks5://127.0.0.1:21080
PROXY_HOSTS = *.github.com,*.githubusercontent.com
[migrations]
ALLOW_LOCALNETWORKS = true
PROXY_ENABLED = true
PROXY_URL = socks5://127.0.0.1:21080
PROXY_HOSTS = *.github.com,*.githubusercontent.com
[migrations]
ALLOW_LOCALNETWORKS = true
在示例的配置内容中,
- PROXY_URL 现在使用的是 socks5 代理,也可以设置为 http/https/socks4 协议的代理(如果 URL 写 socks:// 开头,就会被当做 socks4 协议的代理)。
- PROXY_HOSTS 是指定在迁移仓库的时候,访问哪些域名时要使用代理(支持通配符,多个域名可以用英文逗号分隔)。
- 类似在示例中那样,代理如果是配置在 127.0.0.1 上的,那么还得开启 ALLOW_LOCALNETWORKS 选项,否则 Gitea 会拒绝迁移走代理的仓库(因为会以为仓库的原始地址在 127.0.0.1 上)。
各参数的详细含义,在 Configuration Cheat Sheet 页面都有详细说明。