Nextcloudで画面を表示すると、プレビュー画像(サムネイル)が表示されるまで時間がかかる。大量の画像を一覧表示するときは画面表示が待たされる。
一度生成されたプレビュー画像はサーバに保存されて再利用されるので、2回目以降はサクサク表示されるが、初回の閲覧では画像表示に時間がかかる。画面上の画像一覧表示はImageMagickでプレビュー画像を生成しながら画面を表示しているので仕方がない面がある。
![]() |
ファイル一覧用に小さなプレビュー画像を次々と生成している |
Preview Generator
そこで、NextcloudにはPreview Generatorというアプリ(プラグイン)をインストール可能である。このアプリはcronでジョブをバックグラウンドで回し、プレビュー画像を事前に生成しておくというもの。写真や動画をアップロードすると、自動で各サイズのプレビュー画像を裏で作成してくれる。これにより事前にプレビュー画像がサーバに溜められているので、画面表示が速くなるというわけだ。
インストール手順
Nextcloudのアプリ管理画面 > マルチメディア > Preview Generator のインストールボタンを押す。
準備と実行
cronで回すアプリなので、シェルで準備作業を行う。
既存のプレビュー画像のメンテナンス
一度、プレビュー画像を作り直すことにする。
プレビュー画像データのディレクトリを空にする。場所は data/appdata_xxxxxxxx/preview
% php occ files:scan-app-data
もしもDBをついうっかりいじってやってしまった場合は、次の方法でトラブルシュート可能である

Nextcloudのトラブルシュート - ファイル管理情報を再構築する手順
Nextcloudは格納しているファイル情報を全てDBで管理している。もしも、何らかの障害でファイル管理情報の再構築が必要な場合の手順を書いておく。 ストレージに保存している実ファイルの存在を再スキャンして、DBを再構築する。 プレビュー画像のみを再構築する場合 プレビュー画...
また、外部ストレージとの接続(External Storage)を使用している場合は、外部ストレージのファイルエントリー情報も再スキャンする。
% php occ files:cleanup
プレビュー画像を生成する
% php ./occ preview:generate-all -vvv
もしも、全画像を一気に作成することに問題がある場合は、チェックするディレクトリを指定して作業範囲を限定させることもできる、
% php ./occ preview:generate-all -vvv --path=/username/files/hoge
コマンドが終了するとプレビューが全て事前に準備された状態になるので画面表示はかなり速くなる。
一連の動作に問題なさそうであればwwwアカウントのcronにプレビュー生成のジョブを追加する。
*/15 * * * * php /usr/local/www/nextcloud/occ preview:pre-generate
大量のプレビューファイル問題
-rw-r--r-- 1 www www 126K Jan 6 15:43 1024-768-max.jpg -rw-r--r-- 1 www www 99K Jan 6 15:43 768-768-crop.jpg -rw-r--r-- 1 www www 21K Jan 6 15:43 341-256.jpg -rw-r--r-- 1 www www 17K Jan 6 15:43 256-256-crop.jpg -rw-r--r-- 1 www www 14K Jan 6 15:43 256-192.jpg -rw-r--r-- 1 www www 2.8K Jan 6 15:43 85-64.jpg -rw-r--r-- 1 www www 2.3K Jan 6 15:43 64-64-crop.jpg -rw-r--r-- 1 www www 1.9K Jan 6 15:43 64-48.jpg
0 件のコメント:
コメントを投稿