いろいろ試行錯誤したあとにここまで行き着いたことを記載。回り道はカツアイ。
Synologyを使っていたときは、gitサーバがあったような気がするんだが、QNAPにはgitサーバがなく、gitを使うのであれば、gitlabをたてろということらしい。まぁ、githubのプライベートが無制限になったので、ローカルのgitの需要もあまりないかもしれないが、gitlabは、それなりに面白いので立てておくことにした。しかし、諸事情でまだ本格稼働にはいたっていない。
さて、QNAPでgitlabだが、Container Stationでパッと立てられる。しかし、立ててみるとgitのパスがlocalhostだったり使いごごちはイマイチ。
よくみるとAppと書いてあり、複数のdockerアプリが立ち上がる。実は、このAppってDocker Composeである。また、よく見るとバージョンがいさささか古い。なので、このまま立ち上げるとGitlabのバージョンアップしろと出てくる。さらに調べてみると、バージョンアップをするためには、バックエンドのPostgresqlもあげなきゃならない。なので、横にある、Create Applicationをクリックして、Docker Composeのファイルを書いてしまった方がいい。
さて、どこにDocker Composeのファイルがあるかというと。。。
こんなようなパスにあるらしい
…. /share/Container/container-station-data/application/gitlab/docker-compose.yml
実はgithubにもあがっている。
https://github.com/qnap-dev/container-apps/tree/2.0/template/gitlab
さらにdocker-composeのファイルをみてみると、sameersbn/gitlab:11.4.0というパッケージを読んでいる(古い!)ので、本家を探すと以下にあたる。
https://github.com/sameersbn/docker-gitlab
どうやら本丸にたどり着いた様子。よってAppで作らずに、Container Stationで、以下を貼り付けることにって最新のgitlabができるはず。(作成した当時の最新ね。)
gitlab:
environment:
DEBUG: ‘false’
GITLAB_PORT: 10080
GITLAB_SECRETS_DB_KEY_BASE: qcs-gitlab-app
GITLAB_SECRETS_OTP_KEY_BASE: qcs-gitlab-app
GITLAB_SECRETS_SECRET_KEY_BASE: qcs-gitlab-app
GITLAB_SSH_PORT: 10022
GITLAB_HOST: <<<ホスト名というかFQDN>>>
TZ: Asia/Tokyo
GITLAB_TIMEZONE: Tokyo
image: sameersbn/gitlab:13.12.4
links:
– redis:redisio
– postgresql:postgresql
ports:
– 10080:80
– ‘10022:22’
restart: always
postgresql:
environment:
DB_EXTENSION: pg_trgm,btree_gist
DB_NAME: gitlabhq_production
DB_PASS: password
DB_USER: gitlab
image: sameersbn/postgresql:12-20200524
restart: always
redis:
command:
– –loglevel warning
image: redis:5.0.9
restart: always
GITLAB_HOSTを書き換えることによって、gitのパスがFQDNになる。gitlabのバージョンが13.12.4だけど、アップグレードしなくていいように最新に書き換えてもいいかもしれない。
さて、これを書いている時にに、14.0.1が出てしまった。このバージョンからのアップグレードは簡単で、単にバージョンを書き換えればいい。Applyをすると自動的にイメージ更新が発生する!
ただ、https://github.com/sameersbn/docker-gitlab は覗いておいたほうがいい。たまに設定追加があるので。
また、アップグレードは結構時間がかかる。正常アクセスができるまで10分程度はまったほうがいい。
ちなみに、アクセスして以下だとまだアップグレードは完了していない。コンソールをみていたほうが確実かも。
以下の状態になれば数分くらいでログインができる。
無事更新完了。
ちなみにAppで作ったものをアップグレードすることも可能だが、gitlab以外にPostgresqlもアップグレードが必要になる。さらにDB_EXTENSIONも修正が必要となる。DBのアップグレードも自動的に行われるが30分は見ておいた方がいいかも。
さて、なんで本格運用に移行できないかというと。。。gitlabのバックアップはどうしようか?というのが未解決。