以前の投稿でdocker-composeを使い、GitLabを5秒でインストールする方法を紹介しましたが、nginxのリバースプロキシを挟んで構築したときに、いくつか設定にハマりましたので紹介しておきます。
現状の構成はnginxでSSLを終端し、その後ろでgitlabコンテナが10080番でHTTPを待ち受けている構成になります。
1.リポジトリのアドレスがローカルIPになってしまう
まずは docker-compose 内に設定することがいくつかあります。
GitLabを5秒でインストールする方法の中で、ymlをwgetで持ってきていますが、以下を修正します。
- GITLAB_HOST を localhost から domain.com に変更
- SSL_SELF_SIGNED=true
2.New projectの Project URL のローカルIPが表示されてしまう。
新規にBlank projectを作るページに Project URL というものが表示されるのですが、上記のdocker-composeの設定は反映されなく、localhostでもなくローカルのipアドレスが表示されてしまっていました。
これは、GitLabの設定ではなく、nginxの設定が表示されていることがわかり、nginx.confもしくは、conf.d配下の個別のファイルの修正が必要です。
upstream domain.com { server 192.168.1.2:10080; } server { listen 443; server_name domain.com; ssl on; location / { proxy_pass http://domain.com; } ssl_certificate /etc/nginx/gitlab-fullchain.pem; ssl_certificate_key /etc/nginx/gitlab-privkey.pem;
ポイントとしては、proxy_pass にきちんとドメインを書くこと、443で受けてますが、裏がhttpなのでここではhttpで指定。
その上のupstreamを使って、ローカルのサービスに振り分けることです。
かなりハマったので、メモ代わりに残しておきます。