Auto-hospedar gitlab usando caddy

Auto-hospedar gitlab usando caddy

Estou tentando instalar e hospedar o gitlab, mas ele requer e extrai o Nginx. O que seria bom, exceto que eu uso o Caddy e o Caddy não funciona bem com o Nginx e precisa ser desativado para que o Nginx comece.

Eu gosto muito do Caddy, especialmente do servidor de arquivos integrado, então mudar completamente para o Nginx não é uma opção. Também não tenho interesse em tentar redirecionar o firewall para tentar usar o Nginx em uma porta fora do padrão.

Existe alguma maneira de usar o gitlab sem o nginx, por exemplo, Caddy? Não há documentação oficial e a última coisa que tentei em um fórum on-line quebrou completamente minha instalação do gitlab e pertencia apenas ao Apache, que não estou usando

Meu sistema é um servidor em nuvem dedicado rodando Ubuntu 20.04.

Responder1

A resposta da unixandria está correta para quando é. As coisas mudaram um pouco desde então.

Agora existe esta seção oficial emDocumentos do GitLab.

Além disso, o GitLab 13.5 mudou a localização do soquete unix, então o Caddyfile deve ter isto agora:

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

Responder2

Eu finalmente descobri.

O GitLab não escuta em uma porta, mas em um soquete Unix. Felizmente podemos configurar o Caddy para reverter o proxy para o soquete no Caddyfile assim:

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

Certifique-se de que caddyo usuário esteja em gitgrupos gitlab-wwwe vice-versa.

Em /etc/gitlab/gitlab.rb certifique-se de que estejam configurados como tal:

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'

Então faça

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

Eu testei apenas com os pacotes oficiais caddy e GitLab-EE no Ubuntu 20.04 e não configurei o Caddy via API, mas isso deve funcionar para instalações padrão do GitLab.

informação relacionada