以前の投稿で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を使って、ローカルのサービスに振り分けることです。
かなりハマったので、メモ代わりに残しておきます。