〔備忘録〕 gitlab-ce-10.0.3 (ominibus package) を subdirectory で動かす

GitLab-CE を、以下のような subdirectory を付けた URL で動作させる必要があったので、その設定方法をメモします。

URL: http://my-server-url.local/git/

なお、動作環境は次のとおりです。


Google 先生に質問したら、

というサイトを教えてくれました。
これらのサイトを参考に、以下の手順で修正しました。


(1) /opt/gitlab/embedded/service/gitlab-rails/config/initializers/relative_url.rb を用意する(同一ディレクトリにある relative_url.rb.sample を元にして用意する)

# cd /opt/gitlab/embedded/service/gitlab-rails/config/initializers
# cp relative_url.rb.sample relative_url.rb


(2) 上記 relative_url.rb の config.relative_url_root に subdirectory を設定

Rails.application.configure do
config.relative_url_root = "/git"
end


(3) /opt/gitlab/embedded/service/gitlab-rails/config/gitlab.yml の relative_url_root に subdirectory を設定

gitlab.yml の変更箇所

production: &base
gitlab:
...
relative_url_root: /git


(4) /opt/gitlab/embedded/service/gitlab-rails/config/unicorn.rb を用意(同一ディレクトリにある unicorn.rb.example を元にして用意する)

# cd /opt/gitlab/embedded/service/gitlab-rails/config/
# cp unicorn.rb.example unicorn.rb


(5) 上記 unicorn.rb の RAILS_RELATIVE_URL_ROOT 環境変数に subdirectory を設定

ENV['RAILS_RELATIVE_URL_ROOT'] = "/git"


(6) /opt/gitlab/embedded/service/gitlab-shell/config.yml の gitlab_url に subdirectory を追記

# Url to gitlab instance. Used for api calls. Should end with a slash.
gitlab_url: "http://127.0.0.1:8080/git"


(7) /etc/gitlab/gitlab.rb の external_url に subdirectory を設定

external_url 'http://my-server-url.local/git/'


(8) reconfigure と restart を実行

# gitlab-ctl reconfigure
# gitlab-ctl restart