前回までにNASとしての基本設定をやったTrueNAS Scale。
これに様々な機能を追加するプラグイン機能”App”を使ってみました。
今風の「クリックしたら導入完了!」ではなく、
設定になかなか悩まされたので書いておきます。
Plex
Plexは過去徒労日記で何度も書いてるメディアサーバ。
ストレージ内の動画、写真、音楽などをブラウザやモバイルアプリを使って視聴できます。
また、LAN内だけではなく出先からのリモートアクセスでもメディアをトランスコードして視聴可能。
いろんな解説動画がありましたがどれもうまくいかず、結局自分は下記方法でようやく思った通りに動かせました。
なおPlexのアカウントはすでに登録済みである想定。
アプリ用ユーザーを作る
Credentials>ユーザーでアプリ用のユーザーを新規作成します。
自分はAppuserとしました。
デフォで同じ名前のグループも作成されます。
- builtin_usersグループのみに参加(デフォ)
- ホームディレクトリは共有データフォルダ/mnt/tank/ServerFolder
- パーミッションは770(UserとGroupにだけRead/Write/Excuteのフル権限)
作成したユーザーのUser IDとGroup IDを確認します。
Datasetsに権限を当てる
共有フォルダ=Datasetsに作成したユーザーのアクセス許可を与えます。
/mnt/tank/ServerFolderを開き、Permissions>編集。
”Add Item”でUser>Appuserを追加。
PermissionsはReadにして”再帰的に権限を適用”をチェック。
さらに”子データセットに対して権限を適用”もチェックしてSave Access Control Listをクリック。
これは子Datasetの共有情報も初期化されるので、前回やった共有フォルダ権限も綺麗にそろえておきます。
AppからPlexを追加
Appメニューを開いて右上のDiscover Appをクリック。
検索にPlexと入れて出てきたら選んでインストール。
初期設定画面でのポイントは3つ
- ”User and Group Configuration”のUser IDとGroup IDを作成したAppuserのものに変える
- ”Host Network”にチェックをつける
- Additonal StorageでAddする
- TypeはHost Path
- Mount Pathは適当(アプリ側に見えるパスになる)
- Host Pathは設定した共有フォルダ
設定があっていれば、インストールされたPlexがDeployingになり、数分後に”動作中”になります。
いつまでもならない時はどこか設定が誤っています大抵Datasetのアクセス権に失敗してます。
引っかかった点としてHost Networkにチェックを点けると、PlexのWeb Portalを開いたときに進みません。
This XML file does not appear to have any style information associated with it. The document tree is shown below.
<MediaContainer size=”24“ allo……..
これはURLに手動で/webをつけるとパスできます。
Redditの書き込み見つけるまでしばらく分かりませんでした。
あとはこれまで通り
AppのPlexからWebPortalを/web付きで開き、WebUI画面を開きます。
スパナマークをクリックし、設定-一般にてTrueNASをPlexへ登録。
リモートアクセスも有効化します。
管理‐ライブラリでMount Pathに表示された共有フォルダ/mnt/tank/ServerFolderの中身を登録していけば完了。
いやー、この手順がわかるまでなかなか大変でした。
SMB共有をパス追加する手順も公開されていましたが自分はDeployが終わらなくなりました。
PhotoPrism
PhotoPrismは今回知ったオープンソースのAI付きフォトライブラリツール。
Google Photoみたいなのを自前のストレージの写真でできるらしい。
個人利用に限ったCommunityアカウントなら登録は不要です。
セットアップはPlexが上手くいった後はほぼ一緒。
Discover AppよりPhotoPrismを追加。
初期設定画面では同じ用にIDの変更、Host Networkの有効化、追加ストレージで写真フォルダを指定します。
大事な違い
Mount Pathを「/photoprism/originals/photos」にしました。
どうやらPhotoPrismは/photoprism/originalsの配下をデフォルトでスキャンしてライブラリに追加するらしい。
このスキャンフォルダを追加する方法が中々見つからなかったため、手っ取り早くこの下に共有フォルダをマウントして解決しました。
上手くデータが見つかると、ライブラリの構築&AIによる画像判定が走ります。
しばらくNASのCPUが100%に張り付きます。
tailscale
Tailscaleは外出先でもTureNASがローカルLANにあるようにアクセスできるようになるVPNサービス。
設定が終われば、配布されているWindowsクライアントやスマホアプリで簡単に接続できます。
API Keyの発行
TailscaleからGet Startedを押してサインアップします。
ログイン後、Setting>Keyから”Generate auth key..”を押して発行されたAPI Keyをメモ。
この画面は他にも許可されたクライアントやユーザーなどを管理可能。
Appの初期設定
TrueNASのAppからtailscaleを追加。
初期設定のTailscale Configuration>API Keyに先ほど発行したAPI Keyを入力します。
またONUとの構成で多段ルータになっている場合、Advertise RoutesでAddを押し、経路上のプライベートアドレスを追加する必要があります。
Host Networkはオフのままで大丈夫。
Advertise Exit NodeをオンにするとTrueNASのみならず、他のLAN機器もリモートアクセスできるようになります。
接続テスト
設定が完了したらスマホアプリを導入。
Wi-Fiを切った状態で接続をONにします。
TrueNASのローカルIPアドレスを入れて、家の中と変わらないようにアクセスできたら成功。
これを使って出先からもPhotoPrismにアクセスができます。
Appの入れすぎに注意
最初全然動かなくてへこたれそうでしたが、無事動き出して良かった。
TrueNASにはAppの他、Virtual Machinesを動かす事もできます。
ただこれでも少なからずCPU負荷が上がってしまい、消費電力は32Wに増加。
省電力を目指していたため、負荷の高いPhotoPrismなんかは利用頻度と天秤にかける必要がありそう。