我正在尝试安装和托管 gitlab,但它需要并引入 Nginx。这很好,除了我使用 Caddy 并且 Caddy 不能很好地与 Nginx 配合使用,并且必须禁用 Nginx 才能启动。
我非常喜欢 Caddy,尤其是内置的文件服务器,所以完全切换到 Nginx 不是一种选择。我也没有兴趣尝试进行防火墙重定向以尝试在非标准端口上使用 Nginx。
有没有办法在没有 nginx 的情况下使用 gitlab,例如 Caddy?没有官方文档,我从在线论坛尝试的最后一件事完全破坏了我的 gitlab 安装,并且只与我没有使用的 Apache 有关
我的系统是运行 Ubuntu 20.04 的专用云服务器。
我终于弄明白了。
GitLab 不侦听端口,而是侦听 Unix 套接字。幸运的是,我们可以将 Caddy 配置为反向代理到 Caddyfile 中的套接字,如下所示:
确保
caddy
用户在git
和gitlab-www
组中,反之亦然。在 /etc/gitlab/gitlab.rb 确保这些配置如下:
然后做
我只在 Ubuntu 20.04 上使用官方 caddy 和 GitLab-EE 软件包进行了测试,并且没有通过 API 配置 Caddy,但这应该适用于 GitLab 的标准安装。
unixandria 的答案对于它的来源是正确的。从那以后,情况发生了一些变化。
GitLab Docs现在有这个官方部分。
此外,GitLab 13.5 更改了 unix 套接字的位置,因此 Caddyfile 现在应该有这个: