Introduction

一応シェルを作っているので、コマンド一発でできる状態ですが、メモとして残す。

How to?

元々、自宅NAS上のGitLab on DockerへのSSL証明書の適用は下記のサイトを参考にして行っていました。

なので、既にGitLabはhttpsを通じて公開されています。

そして本題。
下記が更新に使用するシェルスクリプトです。
update_gitlab_cert.shとして保存します。

1
2
3
4
5
6
7
8
9
10
cd /volume1/docker/gitlab/gitlab/certs
# List up files in certs
ls -la
# Confirm expiration date
sudo openssl x509 -noout -dates -in /usr/syno/etc/certificate/system/default/cert.pem
# Copy latest cert files to current directory
sudo cp /usr/syno/etc/certificate/system/default/cert.pem ./gitlab.crt
sudo cp /usr/syno/etc/certificate/system/default/privkey.pem ./gitlab.key
# Update
openssl dhparam -out dhparam.pem 4096

実行前にGitLabを停止します。
下記が実行結果です。非常に時間がかかります。

1
2
3
4
5
6
7
8
9
10
11
$ sudo ./update_gitlab_cert.sh
total 12
drwxr-xr-x 1 root root 62 May 27 10:16 .
drwxr-xr-x 1 1000 1000 106 May 26 23:54 ..
-rwxr-xr-x 1 root root 769 Aug 26 02:06 dhparam.pem
-rwxr-xr-x 1 root root 2171 Nov 19 00:23 gitlab.crt
-rwxr-xr-x 1 root root 1675 Nov 19 00:23 gitlab.key
notBefore=Oct 6 04:12:36 2018 GMT
notAfter=Jan 4 04:12:36 2019 GMT
Generating DH parameters, 4096 bit long safe prime, generator 2
This is going to take a long time

終わったらGitLabを再起動します。
ただ、最後のopensslコマンドは一度実行したら実行する必要はないかもしれません。