GitLab をインストールしてホストしようとしていますが、Nginx が必要で、それを使用します。これは問題ありませんが、Caddy を使用していますが、Caddy は Nginx とうまく連携しないため、Nginx を起動するには無効にする必要があります。
私は Caddy、特に組み込みのファイル サーバーがとても気に入っているので、Nginx に完全に切り替えるという選択肢はありません。また、非標準ポートで Nginx を使用するためにファイアウォール リダイレクトを実行することにも興味がありません。
Caddyなど、nginxなしでgitlabを使用する方法はありますか?公式ドキュメントはなく、オンラインフォーラムで最後に試したものは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 ソケットをリッスンします。幸いなことに、次のように 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)
私は Ubuntu 20.04 上の公式 caddy および GitLab-EE パッケージでのみテストしており、API 経由で Caddy を構成していませんが、これは GitLab の標準インストールでは機能するはずです。