Synologyにsnipe-itをインストールする

ニッチな内容ですが、Synology+dockerにsnipe-it(IT資産管理ツール)をインストールしましたので備忘禄を残しときます。
インストールに関しては以下のサイトが約に立ちました
開発メモ その121 OSSの資産管理WebアプリSnipe-ITをDockerで使う – A certain engineer "COMPLEX"
Providing Snipe-IT via Docker | SWY's technical notes



■前提条件
・Synology DS2415+
DSM 6.1.7-15284 update3
・dockerインストール済み

■インストール手順
1.前提条件を満たします。dockerはDSMのパッケージマネージャーからインストールできるので問題ないはず。

2.dockerにmysqlをイメージをダウンロードします。バージョンは5.6.44をダウンロードしてください。
   ⇒理由は色々あるけど、8.0系や10.0系はちょっとメンドクサイ事が起こる。
3.dockerにsnipe-itのイメージをダウンロードします。バージョンは4.6.8をダウンロードしてください。
   ⇒私の環境だと4.7.6最新版はインストールに失敗したので、4.6.8にバージョンを落としところ問題なくインストールできた。
4.mysqlのコンテナを作成
  4.1 mysqlのイメージからコンテナを作成します。コンテナ名は「mysql_snipeit」(任意)とします。
  4.2 コンテナのボリュームを作成します。以下の通り設定します。
  f:id:SuperSecretTech:20190611195234p:plain
  
  4.3 コンテナに以下の環境変数を登録します。環境変数を全て追加したら下の画像になると思います。
    パスワードは任意の文字列を入れてください。

         MYSQL_ROOT_PASSWORD=password
         MYSQL_DATABASE=snipeit
         MYSQL_USER=snipeit
         MYSQL_PASSWORD=password

  f:id:SuperSecretTech:20190611195553p:plain

5.snipe-itのコンテナを作成
  5.1 snipe-itのイメージからコンテナを作成します。コンテナ名は「snipeit」(任意)とします。
  5.2 コンテナのポート番号を下記画像のように設定します。
    ローカルポート:9080(任意) コンテナのポート:80(こっちは固定)
  f:id:SuperSecretTech:20190611200322p:plain
  5.3 コンテナのリンクを下記画像のように設定します。
    コンテナ名:mysql_snipeit エイリアスmysql
  f:id:SuperSecretTech:20190611200537p:plain
5.4 コンテナに以下の環境変数を登録します。mysqlのパスワードは4.3の環境数を同じにしてください。
APP_KEYは最初は空白にしておいてください。初回起動時に生成されます。

         MYSQL_ROOT_PASSWORD=password
         MYSQL_DATABASE=snipeit
         MYSQL_USER=snipeit
         MYSQL_PASSWORD=password
         APP_ENV=production
         APP_DEBUG=false
         APP_KEY=(最初は空白にしておく)
         APP_URL=http://127.0.0.1:80
         APP_TIMEZONE=Asia/Tokyo
         APP_LOCALE=ja

6.mysqlのコンテナを起動します。
7.snipe-itのコンテナを起動します。起動後すぐに停止するはずです(APP_KEYがないため)。
8.dockerのコンテナメニューから「snipeit」コンテナを選択して「詳細」→「ログ」を開いてください。
  以下画像のようなログ情報が表示されます。赤枠のbase64:~の文字列がAPP_KEYとなりますので、コピーしておきます。
  f:id:SuperSecretTech:20190611201416p:plain
9.snipeitコンテナのAPP_KEYに8でコピーしたAPP_KEYを追加します。
10. snipeitコンテナを起動します。ここまででsnipeitにウェブブラウザからアクセスできるようなっているはずです。

11.ウェブブラウザでhttp://Synologyのアドレス:9080にアクセスします。以下の画面が表示されます。
   問題なければ、「Next: Create Database Tables」ボタンを押します。
   f:id:SuperSecretTech:20190611201845p:plain

12. データベースが作成されるまで待ちます(かなり長い、おそらく10分ほどかかる)
   完了すると以下の画面が表示される。問題なければ「Next: Create User」ボタンを押します。
   f:id:SuperSecretTech:20190611202123p:plain

13.管理ユーザーを作成します(画面キャプチャを撮り忘れたが特に難しいことはないと思う)

14.設定が完了すると以下のようにダッシュボードが表示されます
   f:id:SuperSecretTech:20190611202425p:plain