Wi-FiルーターやNAS、クラウドサービス、自宅サーバーなど、身の回りにウェブインターフェースの「管理画面」があふれていないだろうか?
今回は、さまざまなウェブインターフェースをブックマークだけでは管理しきれなくなった、“一線を越えた”自宅サーバー管理者のために、パーソナルダッシュボードをNAS上に構築する方法を紹介する。
ウィジェットも使える「Dashy」を活用
便利なクラウドサービスが増えたうえ、Wi-FiルーターやNASも高機能になり、小型PCで自宅サーバーにDockerで手軽にサーバーを構築できるようになった今、困ってしまうのが身の回りに溢れる「管理画面」の扱いだ。
やれ「192.168.1.1」だの、同じIPでもポートが違う「192.168.1.1:8080」だの、ウェブブラウザーでアクセスしなければならない管理画面が、身の回りに多数存在する。
一般的な家庭なら、ブラウザーのブックマークで対応できるが、増えてくるとブックマークで管理するのも大変になり、間違って別の管理画面を開いては閉じ、開いては閉じと、失敗を繰り返すことも珍しくない。ポート番号を忘れ、Dockerの設定を見直すなんて無駄な操作もしばしば発生する。
というわけで、今回は、熱心な自宅サーバー管理者向けに、管理用のパーソナルダッシュボードをNASに構築する方法を紹介する。利用するのは、「Dashy」というオープンソースのダッシュボードツールだ。
▼Dashyのウェブサイト
Dashy
自宅サーバー管理者向けなので、もちろんセルフホストするタイプのアプリで、Dockerで簡単に稼働させられる。
Intel系だけでなくARM系でも利用可能なDockerイメージが提供されているので、Raspberry Piなどでも稼働可能だが、今回はDockerをサポートしているSynologyのNAS(DS716)にインストールしてみた。
インストールは簡単だ。Dockerがインストールされた環境なら、上記ページの「Quick Start」でも紹介されているが、以下のようなコマンドを実行するだけで稼働させることができる。
docker run -d -p 8080:80 --name my-dashboard --restart=always lissy93/dashy:latest
今回利用したSynologyのNASの場合は、GUIからの操作になるため、いくつかのステップを踏む必要があるが、基本的には[レジストリ]から「lissy93/dashy」のイメージを検索してダウンロード後、イメージをダブルクリックしてコンテナを作成する。
設定は、最低限ならポート設定のみあればいいので、コンテナの80を、ローカルポート(NAS)の任意のポートに割り当てておけばいい。今回は「10090」に設定した。
上記のサイトでは設定用の「conf.yml」ファイルをボリュームで割り当てているが、設定ファイル自体はGUI画面からもアクセスできるので必須ではない。このため、今回は「-v」の設定は外してある。
これで、コンテナを稼働させれば、「http://NASのIP:設定したポート番号」でDashyにアクセスできる。
「管理画面を管理するために管理画面を増やすのか?」などという批判も聞こえてきそうだが、自宅サーバー愛好家たるもの、そんなことを気にしてはいけない。
セクションを追加してアイテムを登録する
Dashyにアクセスしたら、上部のテーマで好みのデザインを選択後、セクションとアイテムを追加していく。右上のアイコンから編集モードに切り替え、「Network」や「Server」などのセクションを作成し、その中にルーターやNASなどの管理画面のアドレスを登録していけばいい。
Dashyでは、各アイテムにアイコンを設定可能になっているので、サービスごとにアイコンを設定しておくと分かりやすい。詳細は以下のドキュメントに詳しく解説されているが、ドキュメント中で紹介されている「fas fa-rocket」や「si-portainer」のような外部サービスで提供されているアイコンを参照したり、「favicon」でサイトのファビコンを設定したり、アイコン画像のURLを指定したりすることができる。
▼参考:利用できるアイコンの種類や使い方
Dashy Icons
また、リンク先のページの表示方法を選択可能になっており、「newtab」に加え、「modal」でDashyの画面内に子ウィンドウで表示したり、「workspace」でDashyのワークスペース画面として表示したりもできる。
ただし、「modal」や「workspace」は、認証が必要なページは正常に表示できないので、管理画面のタイプによっては向いていない。基本的には「newtab」を選択しておくのが無難だ。
ウィジェットを追加する
Dashyの魅力は、単なるリンクボタンだけでなく、ウィジェットとしてさまざまな機能を追加できる点にある。
残念ながら、現状のバージョンではウィジェットを追加するためには、手動で設定ファイルを変更する必要があるため、若干敷居が高いが、以下のドキュメントを参考にすれば何とかなるだろう。
▼参考:ウィジェットの使用について
Dashy Widgets
上記ドキュメントはconf.ymlを編集する方法だが、書式をjsonに書き換えれば、Dashyの設定画面の「構成の編集」で設定ファイルを[コードモード]に切り替えることで、ブラウザーからウィジェットを追加することも可能だ。
書式と位置に注意する必要があるが、例えば、時計であれば、以下のように新しく追加したセクションに挿入できる。
このように、ドキュメントを参考にしながら、作ってみたのが以下のような画面だ。ルーターやサーバー、クラウドサービスなど、普段利用するサイトにここからまとめてアクセスできる。ウィジェットで時間や天気、ニュースも表示してみた。
このほかNetDataを利用することで、サーバーのステータスなども表示できるので、さらに踏み込んだ管理ダッシュボードにしたい場合は、チャレンジしてみるといいだろう。
ホームラボに最適
以上、パーソナルダッシュボードを簡単に作成できるDashyを取り上げた。自宅に管理すべき機器が増えてきたと感じているユーザーは試してみるといいだろう。シンプルに管理画面のIPアドレスとポートをメモする感覚で使うだけでも重宝する。ホームラボの世界に足を踏み入れる一歩としても、おすすめのアプリだ。