自建Sourcegraph免费版无法获取超16个私有仓库?能否自定义?
问题解答
这是Sourcegraph Docker Compose基础部署的默认限制,完全可以自定义调整。
限制原因
Docker Compose部署的Sourcegraph默认给repo-updater服务设置了REPO_UPDATER_MAX_PARALLEL_CLONES=16的环境变量,这个参数控制同时克隆/同步私有仓库的最大并行数,超过16个的仓库会进入等待队列,看起来像是“无法获取”,但实际是在排队处理。另外如果你的代码托管平台(如GitHub/GitLab)有API请求速率限制,也可能导致超过一定数量的仓库同步失败,但核心限制还是Sourcegraph的并行数配置。
调整方法
- 打开你的
docker-compose.yml配置文件 - 找到
repo-updater服务的environment配置块,添加或修改REPO_UPDATER_MAX_PARALLEL_CLONES的数值,比如调整为32:
services: repo-updater: environment: # 其他环境变量保持不变 - REPO_UPDATER_MAX_PARALLEL_CLONES=32
- 重启Sourcegraph服务生效:
docker-compose up -d
注意事项
- 不要把并行数设置得过高,否则可能触发代码托管平台的API限流,或者占用过多服务器资源导致Sourcegraph性能下降
- 如果调整后还是存在仓库无法同步的情况,检查你的代码托管平台API令牌的权限和速率限制,必要时增加令牌数量或调整
REPO_UPDATER_CLONE_INTERVAL参数来降低同步频率
内容的提问来源于stack exchange,提问作者a17sans
相关产品推荐
相关产品推荐

