ニッチな内容ですが、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 コンテナのボリュームを作成します。以下の通り設定します。
4.3 コンテナに以下の環境変数を登録します。環境変数を全て追加したら下の画像になると思います。
パスワードは任意の文字列を入れてください。
MYSQL_ROOT_PASSWORD=password MYSQL_DATABASE=snipeit MYSQL_USER=snipeit MYSQL_PASSWORD=password
5.snipe-itのコンテナを作成
5.1 snipe-itのイメージからコンテナを作成します。コンテナ名は「snipeit」(任意)とします。
5.2 コンテナのポート番号を下記画像のように設定します。
ローカルポート:9080(任意) コンテナのポート:80(こっちは固定)
5.3 コンテナのリンクを下記画像のように設定します。
コンテナ名:mysql_snipeit エイリアス:mysql
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となりますので、コピーしておきます。
9.snipeitコンテナのAPP_KEYに8でコピーしたAPP_KEYを追加します。
10. snipeitコンテナを起動します。ここまででsnipeitにウェブブラウザからアクセスできるようなっているはずです。
11.ウェブブラウザでhttp://Synologyのアドレス:9080にアクセスします。以下の画面が表示されます。
問題なければ、「Next: Create Database Tables」ボタンを押します。
12. データベースが作成されるまで待ちます(かなり長い、おそらく10分ほどかかる)
完了すると以下の画面が表示される。問題なければ「Next: Create User」ボタンを押します。
13.管理ユーザーを作成します(画面キャプチャを撮り忘れたが特に難しいことはないと思う)
14.設定が完了すると以下のようにダッシュボードが表示されます