日本語化した GitLab を Docker で
以前に似たような記事を書いたことがあるのですが*1、改めて、Docker で日本語化した GitLab を運用する方法を書いていきます。
全体の手順
全体の流れとしては以下のとおりです。手順自体は簡単ですが、細かい注意点がいくつかありますのでそこに注意です。
docker run
してGitLab
を起動する(英語版)- その状態でコンテナの中に入って日本語化の処理をする
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
の際に日本語化まで含めて行う、という手法もあります。
その他なにか困ったら
とにかく公式です。内容がとても充実しているので、あえて他のページを見る必要性は低いと思います。