Самостоятельное размещение gitlab с помощью caddy

Самостоятельное размещение gitlab с помощью caddy

Я пытаюсь установить и разместить gitlab, но он требует и тянет Nginx. Что было бы хорошо, если бы не Caddy, а Caddy не работает с Nginx и его нужно отключить, чтобы Nginx вообще запустился.

Мне очень нравится Caddy, особенно встроенный файловый сервер, поэтому просто перейти полностью на Nginx — не вариант. Мне также неинтересно пытаться делать перенаправления брандмауэра, чтобы попытаться использовать Nginx на нестандартном порту.

Есть ли способ использовать gitlab без nginx, например Caddy? Официальной документации нет, а последнее, что я попробовал на онлайн-форуме, полностью сломало мою установку gitlab и касалось только Apache, который я не использую

Моя система представляет собой выделенный облачный сервер под управлением Ubuntu 20.04.

решение1

Ответ от unixandria правильный, когда это из. С тех пор все немного изменилось.

Теперь есть этот официальный раздел наДокументы GitLab.

Кроме того, GitLab 13.5 изменил расположение сокета unix, поэтому в Caddyfile теперь должно быть следующее:

git.example.com {
    reverse_proxy unix//var/opt/gitlab/gitlab-workhorse/sockets/socket
}

решение2

Я наконец-то понял.

GitLab не слушает порт, а сокет Unix. К счастью, мы можем настроить Caddy на обратный прокси-сервер для сокета в Caddyfile следующим образом:

git.example.com {
     reverse_proxy * unix//var/opt/gitlab/gitlab-workhorse/socket
}

Убедитесь, что caddyпользователь состоит в gitгруппах gitlab-wwwи наоборот.

В /etc/gitlab/gitlab.rb убедитесь, что они настроены следующим образом:

nginx['enable'] = false
web_server['external_users'] = ['caddy']
web_server['username'] = 'gitlab-www'
web_server['group'] = 'gitlab-www' 
web_server['uid'] = nil
web_server['gid'] = nil
web_server['shell'] = '/bin/false' 
web_server['home'] = '/var/opt/gitlab/nginx'

Тогда сделай

sudo gitlab-ctl reconfigure
sudo systemctl restart caddy (or restart Caddy manually if you don't use systemd)

Я тестировал только официальные пакеты caddy и GitLab-EE на Ubuntu 20.04 и не настраивал Caddy через API, но это должно работать для стандартных установок GitLab.

Связанный контент