PR

QNAP TS-233 の Container Station で GitLab を動かした方法(失敗)

1. はじめに

※結果として上手くいかなかったのですが、備忘録として残しておきます。

TS-233 を購入したので、Container Station に GitLab をデプロイしてみました。
しかし、Docker Hub にある gitlab/gitlab-ce だとコンテナ起動時に以下のエラーが出てしましました。

exec /assets/wrapper: exec format error

調べたところ、TS-233 は ARM CPU なので動かないようです。
仕方ないので、Container Station にある ubuntu をベースに、GitLab をインストールすることにしてみました。

2. Container Station に ubuntu をデプロイ

ubuntu は Container Station にあるので、それをデプロイ。
以下のサイトを参考にすることで構築できます。
バージョンが違うのか、画像が違っているので注意。
LXD コンテナインスタンスを Container Station 内で実行する方法

3. GitLab をインストール

こちらの手順通りにインストール。
GitLab

HTTPS だと証明書が必要になるので、HTTP で、ドメインはないので IP でインストールします。

sudo EXTERNAL_URL="http://xxx.xxx.xxx.xxx" apt install gitlab-ee

インストール後、以下のコマンドで GitLab の状態を確認します。

sudo gitlab-ctl status

以下のように run: ~~~ と表示されれば、GitLab が起動しています。

run: alertmanager: (pid 1234) 7s; run: log: (pid 1235) 7s
run: gitaly: (pid 1236) 7s; run: log: (pid 1237) 7s
run: gitlab-exporter: (pid 1238) 7s; run: log: (pid 1239) 7s
run: gitlab-workhorse: (pid 1240) 7s; run: log: (pid 1241) 7s
run: grafana: (pid 1242) 7s; run: log: (pid 1243) 7s
run: logrotate: (pid 1244) 7s; run: log: (pid 1245) 7s
run: nginx: (pid 1246) 7s; run: log: (pid 1247) 7s
run: node-exporter: (pid 1248) 7s; run: log: (pid 1249) 7s
run: postgres-exporter: (pid 1250) 7s; run: log: (pid 1251) 7s
run: postgresql: (pid 1252) 7s; run: log: (pid 1253) 7s
run: prometheus: (pid 1254) 7s; run: log: (pid 1255) 7s
run: redis: (pid 1256) 7s; run: log: (pid 1257) 7s
run: redis-exporter: (pid 1258) 7s; run: log: (pid 1259) 7s
run: sidekiq: (pid 1260) 7s; run: log: (pid 1261) 7s
run: unicorn: (pid 1262) 7s; run: log: (pid 1263) 7s

4. GitLab の設定

GitLab の設定は以下のファイルに記述されています。

/etc/gitlab/gitlab.rb

以下のように設定されているか確認します。

external_url 'http://xxx.xxx.xxx.xxx'

問題あれば編集し、設定後、以下のコマンドで設定を反映します。

sudo gitlab-ctl reconfigure

5. GitLab へアクセス

ブラウザで external_url で指定した URL にアクセスします。
すると、以下のような文字が画面が表示されました。

502 We're sorry. GitLab is taking too much time to respond.

まずはログの確認。

sudo gitlab-ctl tail

表示遅いですが特にエラーらしきものは存在せず。
もしかして、メモリが足りない?
TS-233 は メモリが 2GB しかないので動かないだけなのかも。
残念ながらメモリの増設は出来ないので、設定を変更することにします。

6. GitLab の設定変更

sudo vi /etc/gitlab/gitlab.rb

こちらのサイトを参考に
GitLabのメモリ使用量を約2GB抑えて安定稼働させるために行ったメモリチューニングの方法
以下のように設定を変更します。

unicorn['worker_processes'] = 2
unicorn['worker_timeout'] = 60
postgresql['shared_buffers'] = "1024MB"
gitlab_rails['db_prepared_statements'] = false

設定後、以下のコマンドで設定を反映します。

sudo gitlab-ctl reconfigure

7. 結果として

再度、ブラウザでアクセスしてみましたが、やはり 502 が表示されます。
ちなみに LXD だけでなく、Docker Hub でも試してみましたが同じ結果でした。
メモリが足りないのか、それとも ARM CPU だからなのか・・・。
とりあえず、ここまでやって断念しました。

A. 参考サイト

LXD コンテナインスタンスを Container Station 内で実行する方法
GitLab
GitLabのメモリ使用量を約2GB抑えて安定稼働させるために行ったメモリチューニングの方法

B. 関連機器

コメント