本記事では、TrueNAS SCALEにNextcloudをインストールする方法を画像付きで詳しく紹介します。
はじめに
本記事では、TrueNAS SCALEにNextcloudをインストールする方法を画像付きで詳しく紹介します。また、インストール時の一部のエラーについても対応方法を記載しました。
NASとは
NASとは、Network Attached Storageの略でネットワーク経由で複数のユーザーやデバイスからアクセス可能なファイル保存専用のストレージシステムです。
TrueNASとは
TrueNASとは、オープンソースで作られたNAS用のOSです。
TrueNASの概要や、インストール方法については、以下の記事を参照ください。
Nextcloudとは
Nextcloud(ネクストクラウド)は、オープンソースで提供されているセルフホスト型のクラウドストレージサービスです。Google DriveやDropboxのようにファイルの保存・共有・同期ができるだけでなく、サーバーを自分で用意するためデータの管理をすべて自分自身でコントロールできるのが大きな特徴です。
ユーザー管理、外部アクセス、写真バックアップ、カレンダー・ToDo・メモなどのアプリ連携にも対応しており、家庭内のNAS用途から小規模オフィスまで幅広く利用されています。
また、Web UI が充実しているため、ブラウザだけでファイル操作が可能です。
TrueNAS SCALEと組み合わせることで、ストレージの冗長化・スナップショット・共有管理といったNASの強力な機能を活かしつつ、自宅専用の“プライベートクラウド” を構築することが可能です。
Nextcloudをインストールするには?
TrueNASのWEB UI上で、インストールを行うことが可能です。
TrueNASのWEB UIにログインする
TrueNASのアドレスにアクセスし、usernameとpasswordを入力し、Log Inをクリックします。

Nextcloudをインストールする場所(Dataset)を作成する
TrueNAS上にNextcloudをインストールしますが、Nextcloudをインストールする場所もTrueNASのDataset上になります。
このDatasetは、既存のものではないアプリ(Nextcloud)専用のDatasetが必要で、かつアクセス設定を適切に行わないとインストールが失敗してしまい、ハマります。
今回は、storage01上に新しいNextcloud用のDatasetを新たに作成します。
TrueNAS WEB UIの画面左側のメニューからDatasetsをクリックします。

storage01のドライブを選択し、画面右側のAdd Datasetをクリックします。

ポップアップ画面で、name欄に任意のDataset名を入力します。アプリ名が分かりやすくてよいと思いますので、今回はnextcloud、Dataset PresetをAppsにし、Saveをクリックします。

作成したDatasetができたら、それをクリックして選択したまま、画面右下のPermissionsのEditをクリックします。

Nextcloud用のDatasetは、権限はrootだけ、ACLがない状態、が正しい状態です。
そのように設定していきます。初めに、Strip ACLをクリックします。

ポップアップが出てくるので、Remove the ACL…にチェックを入れて、Strip ACLsをクリックします。

Datasetの設定に戻ってくるので、再度、nextcloudのDatasetのPermissionsのEditをクリックします。

userとgroupがrootになっていて、Accessmodeが、UserとGroupにはすべてチェックが入り、Otherはすべてのチェックが外れている状態でSaveをクリックします。

画面右側のpermissionsで、先ほど設定したUserとGroupにはRead/Write/ExecuteとなっていてOtherはNoneになっていることを確認します。

Nextcloudをインストールする
TrueNAS WEB UIの画面右側のAppsをクリックし、Discover Appsをクリックします。

Search欄にnextcloudと入力し、結果のnextcloudをクリックします。

Installをクリックします。

設定を入力する画面になるため、設定していきます。
- Application name:任意のものを入れます。こだわりがなければnextcloudでよいです
- Version:任意のものを選択します。これもこだわりなければ最新でよいでしょう

timezoneは自分の国と地域を指定します。今回はAsia Tokyoを選択します。
- Timezone:どこでもよいが、自分の国と地域で、今回はAsia Tokyoを選択します。
- Postgres Image:Postgres 17しか選択できないのでそのまま。
- Admin User、Admin Password:
Nextcloud用のユーザー名とパスワードを設定します。これを設定しないと、インストールできません。 - APT Packages:APTをインストールする際はチェックします。よくわからない場合は無視します。
- Tesseract Language Codes:APT Packagesでocrmypdfを選択していない場合は設定不要。
TesseractはPDFOCRツールですので、変換される言語を指定するものみたいです。 - Imaginary:画像プレビュー生成用の速度向上に役立つ、と書いています。必要ならチェック。
- Host:ここにはTrueNASのWEB UIのIPアドレスを入れます。

- Data Directory Path:デフォルトの/var/www/html/dataでよい
- Redis Password、Database Password:ここは設定しないとインストールできないので入力します。
- 後の設定:デフォルトのまま

- Network Configuration:すべてデフォルトのまま

- Storage Configuration:Nextcloud User Data StorageをHost Pathにし、Host Pathを先ほど設定したDatasetにする。

- Labels Configuration
- Resources Configuration
いずれもデフォルトのまま
Installをクリックします。Installがクリックできないときは、Admin User、Admin Password、Redis Password、Database Passwordの少なくとも1つが空なので、設定します。

インストールが行われます。

しばらくすると、Appsの画面に戻り、Runningになります。

正しく動作していると、Workloadsは上記の画像のように、以下になります。
- nextcloud:Running
- postgres:Running
- postgres_upgrade:Exited
→postgresがupgradeされるときだけRunningになる。 - redis:Running
- permissions:Exited
→Nextcloud のデータフォルダに初期パーミッションを設定するためのジョブなので、起動するときだけRunningになる。
インストールに失敗する
以下の画面のように、インストールに失敗したり、いつまでたってもNextcloudがStartingのままで、ステータスがRunningにならないときは、DatasetのPermissionの設定が誤っているか、インストール時のStorage Configurationの設定が間違っていることがほとんどなので、見直してください。


Nextcloudにアクセスする
WEB ブラウザから、以下のアドレスでアクセスします。
http://TrueNASのアドレス:インストール時に設定したNetwork ConfigurationのPort Number(デフォルト30027)
正しくインストールできていると、以下のようにログイン画面が表示されるので、インストール時に設定したUserIDとパスワードを入力します。


信頼できないドメインを介したアクセスと出る場合
ポート指定でURLを入力して入ろうとすると、ログイン画面が出ず、以下のような、「信頼できないドメインを介したアクセス」と表示される場合は、インストール時のhosts設定が正しく行われないです。

これは、Nextcloud があなたのアクセスしてきた URL(IPアドレス/ホスト名)を
信頼できるドメインとして登録していないために起こります。
具体的には、config.phpにIPアドレス/ホスト名を追加する必要があります。
TrueNASのWEB UIにログインし、画面右側のAppsをクリックし、画面右側のWorkloadsからnextcloudの右側のShellボタンをクリックします。

Shellが起動したら、以下を入力します。
php occ config:system:get trusted_domains
入力すると、以下のような出力が行われます。
0 => 127.0.0.1
1 => localhost
2 => nextcloud
ここに、TrueNASのIPが入っている必要があります。以下のコマンドを入力します。
php occ config:system:set trusted_domains 追加する番号 --value="TrueNASのIPアドレス"
- 追加する番号:上記でいうと、0,1,2は既にあるので、3となります。
- TrueNASのIPアドレス:WEB UIのhttp://以降のIPアドレスがTrueNASのアドレス。
入力後、以下のようなメッセージが出ていれば成功です。
System config value trusted_domains => 番号 set to string IPアドレス
再度、以下のコマンドを入力し、先ほど入力したアドレスが出ていれば成功です。
php occ config:system:get trusted_domains
0 => 127.0.0.1
1 => localhost
2 => nextcloud
番号 => IPアドレス
まとめ
TrueNASにNextcloudをインストールする方法と、エラー時の対応方法について、画像付きで紹介しました。



コメント