Docker で日本語化した GitLab を運用する方法

日本語化した GitLab を Docker で

以前に似たような記事を書いたことがあるのですが*1、改めて、Docker で日本語化した GitLab を運用する方法を書いていきます。

全体の手順

全体の流れとしては以下のとおりです。手順自体は簡単ですが、細かい注意点がいくつかありますのでそこに注意です。

  1. docker runしてGitLabを起動する(英語版)
  2. その状態でコンテナの中に入って日本語化の処理をする
  3. gitlab-ctl reconfigureを実行して日本語化を反映させる

具体的な手順

以下、順番を追って説明していきます。

1. docker runしてGitLabを起動する(英語版)

以下のようにdocker runすれば一発でGitLabが起動します(公式ページを参照)。ここではGitLabのバージョンは9.1.4を指定しています。

$ sudo docker run --detach --hostname my_gitlab_host --publish 80:80 --name my_gitlab --restart always --volume /opt/docker/gitlab/etc:/etc/gitlab --volume /opt/docker/gitlab/var/log:/var/log/gitlab --volume /opt/docker/gitlab/var/opt:/var/opt/gitlab gitlab/gitlab-ce:9.1.4-ce.0

2. コンテナに入り日本語化する

ウェブブラウザでGitLabのページにアクセスして正しく起動していることを確認します*2。確認できたならば日本語化に着手です。

まずはコンテナに入ります。

$ sudo docker exec -it my_gitlab bash

あとは公式の手順に従いましょう。必要最低限のコマンドに絞っています。

# cd ~/

# apt-get update
# apt-get install patch

# wget https://raw.githubusercontent.com/ksoichiro/gitlab-i18n-patch/master/patches/v9.1.4/app_ja.patch
# cd /opt/gitlab/embedded/service/gitlab-rails
# patch -p1 < ~/app_ja.patch

# gitlab-ctl reconfigure

これでウェブブラウザでリロードすれば日本語化できていると思います。

補足

いくつか補足することがあります。

日本語化に対応したバージョンの Docker イメージを pull すること

必ずしも最新版の日本語化ファイルがあるわけではありません。日本語化の公式の情報を確認した上で、それに対応した Docker の最新版のイメージを用いましょう*3

Docker イメージの「タグ」一覧はこちらのページから参照できます。

設定ファイルを編集する

まっさらな状態ですとデフォルトの設定のままです。メール送信ぐらいの設定はしておいたほうがいいと思います。設定ファイルはgitlab.rbです。どのような項目が記載されているかはやはり公式ページを参照しましょう。

なお、GitLabを起動した際に延々と 502 エラーになる場合の理由の一つとして、gitlab.rbの記述がおかしいから、というのもあります*4

ちなみに設定でハマったものの一つにgitlab_rails['time_zone']があります。これは'JST'ではなく'Asia/Tokyo'を指定する必要があります。

日本語化ファイルはイメージのファイルとバージョンを合わせる

当たり前のことですが、用いるイメージファイルと同じバージョンの日本語化ファイルを使いましょう。上述の手続きで言うと、wgetをしている部分の URI に含まれているバージョン番号を適切に設定します。

コンテナが消えたら日本語化も消える

これまた当たり前のことですが、手を加えたコンテナが削除された場合は日本語化した内容も消えてしまいます。docker-composeで運用する場合などはコンテナを書き出しておくとよいでしょう。

もっとも、そこまでのケースを考慮して、docker-compose upの際に日本語化まで含めて行う、という手法もあります。

その他なにか困ったら

とにかく公式です。内容がとても充実しているので、あえて他のページを見る必要性は低いと思います。

*1:読み返すととてもごちゃごちゃしていて読みにくいですね

*2:初回起動は結構な時間がかかります

*3:上記でも、古いバージョンの 9.1.4 を用いていますね

*4:実際遭遇しました

Powered by はてなブログ