[GitLab][QNAP] QNAP 上で、GitLab を動かす

QNAP TS253Be 上で GitLab を動かすまでの手順を説明します。

環境&対象

以下の環境で動作確認を行なっています。

  • QNAP TS253Be (ファームウェア 4.5.4.1715)
  • ContainerStation (バージョン 2.3.5.1708)

GitLab

いわゆる GitHub クローンの1つです。何らかの理由でローカルに GitHub 的なものを立ち上げたい時に便利です。
Web は、こちら

GitLab のセットアップ

GitLab は、Ruby on Rails 上に構築されているようなのですが、環境を作るのは少し手間だったりします。

運用を始めるとまるっとバックアップを取ったりもしたくなるので、Docker をつかって、立ち上げてみます。

QNAP の NAS には、Docker 環境を動作させるアプリケーション ContainerStation が付属しています。

この ContainerStation を使って、動作させていきます。

少しジャンルが違いますが、MineCraft も動作させることができます。
[QNAP][MineCraft]NAS (QNAP) を使って、マイクラサーバー(Java版)を立ち上げる[QNAP][MineCraft]NAS (QNAP) を使って、マイクラサーバー(Java版)を立ち上げる

ContainerStation

ContainerStation では、QNAP サーバーおよび、Docker Hub から イメージを取得し、コンテナ化して動作させることができるようになっています。

別途、自分で、Docker compose 用のファイルを記述できるようになってもいます。

QNAP が提供している GitLab のイメージはバージョンが古いので、Docker Hub からのイメージで作成します。

  1. Container Station を立ち上げる
  2. 左側の "作成” をクリック
    01作成
    01作成
  3. イメージ検索フィールドに、"gitlab" と入力し検索する。検索後、"Docker Hub" タブを選択し、gitlab/gitlab-ce を見つけ、インストールを押下
    02SearchGitLab
    02SearchGitLab
  4. インストールバージョンを選択します。(最新版である 14.0.2 を選択してます)
    03Select14.0.2
    03Select14.0.2
  5. コンテナ作成時の設定を行う画面に遷移します。詳細設定ボタンを押下すると、必要に応じた設定が可能になります。
    04Push詳細設定
    04Push詳細設定
  6. (好みに合わせて、)データディレクトリ向けに、ホスト側のフォルダをマウントするような設定を行います。ネットワークのポート設定もできます。設定した後に、”作成”を押下します。
    # 詳細設定は必須ではありません。

作成を押下した後、しばらく待ちます。

Conatiner Station の概要画面で、gitlab の行に、クリップマークが出現すれば、立ち上げ完了です。

05Clip
05Clip

クリップマークをクリックすることで、GitLab の Web 画面にジャンプすることができます。

root アカウントパスワード再設定

私の環境では何度やっても、root のパスワードがうまく設定されませんでした。

デフォルト設定にもならず、初回ログイン時に設定する画面に誘導されることもありませんでした。

このような時には、root アカウントのパスワードのリセットが必要です。

  1. Container Station から、コンテナのコンソールに入ります。
  2. コンソール上で 「gitlab-rake "gitlab:password:reset" 」を実行します。
  3. しばらくすると、リセットするアカウントを聞いてきますので、root と入力し、その後 パスワードを 2回入力します。
  4. コンソール上で 「gitlab-rake "gitlab:password:reset" 」を実行します。

これで、root アカウントのパスワードが設定できましたので、改めて、 Web 画面にジャンプして、root アカウントでログインします。

MEMO
Web で調べると、"sudo gitlab-rake..." という説明が見つかりますが、ContainerStation では、コンソールを開いた時にすでに root なので、sudo は、不要です。

URL を変更する

デフォルトでは、192.168.... というような URL になっているかと思います。

以下の設定を行うことで、アクセス時の URL を指定することができます。

/etc/gitlab/gitlab.rb

コンテナ内の /etc/gitlab/gitlab.rb ファイルが GitLab の設定ファイルです。

上記ファイルの中に、以下のようなセクションがあります。


## GitLab URL
##! URL on which GitLab will be reachable.
##! For more details on configuring external_url see:
##! https://docs.gitlab.com/omnibus/settings/configuration.html#configuring-the-external-url-for-gitlab
##!
##! Note: During installation/upgrades, the value of the environment variable
##! EXTERNAL_URL will be used to populate/replace this value.
##! On AWS EC2 instances, we also attempt to fetch the public hostname/IP
##! address from AWS. For more details, see:
##! https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instancedata-data-retrieval.html
# external_url 'GENERATED_EXTERNAL_URL'

最後の行の コメントを外し、external_url `アクセス時に使うURL' とします。

その後、ContainerStation からコンテナのコンソールに再度入り、以下のコマンドを実行します。


gitlab-ctl reconfigure

その他にも、カスタマイズ可能な項目が多く存在します。gitlab.rb ファイルにコメントで説明がありますので、読んでみることをお勧めします。

まとめ:QNAP 上で、GitLab を動かす

QNAP 上で、GitLab を動かす
  • ContainerStation を使用する
  • DockerHub のイメージを使う
  • root のパスワードのリセットが必要になる(かも)

RAID 機能付きの NAS を使用すると、信頼性もあるので、手軽にサーバーが構築できて便利です。

動かしてみるとわかりますが、GitLab は結構重いので、Intel CPU を使用した NAS がお勧めです。

説明は以上です。
不明な点やおかしな点ありましたら、こちらまで。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です