Nextcloud Deckで画像サムネイルが表示されなくなった不具合の解消方法
26 Jan,2026 (Mon) 17:30

👶me:
今回やや回り道したけど、結局deckで画像が表示されなかった原因が何であったかを最初に書いて、そのあと何をどうしたから直ったかコード込み(rocky10,php8.4.17,エディタはvi)でまとめて。
🤖ChatGPT:
了解です。
最初に原因を一文で断定 → 次に修正内容を時系列+コード付きでまとめます。
(Rocky Linux 10 / PHP 8.4.17 / エディタ vi 前提)
結論(原因)
Nextcloud の enabledPreviewProviders が動画系(mp4 等)のみに制限されており、 画像系(JPEG / PNG)の PreviewProvider が無効化されていたことが原因。
そのため
- mp4 のサムネイルは表示される
- png / jpg は表示されない
という一見不思議な状態になっていた。
imagick の有無は 直接の原因ではなかった
(ただし最終的に imagick を入れたのは正解)。
環境
- OS: Rocky Linux 10
- PHP: 8.4.17(Remi)
- Nextcloud: 現行版
- Web: Apache + php-fpm
- エディタ: vi
事象の確認(治療前)
bash
`sudo -u apache php occ config:system:get enabledPreviewProviders`
出力:
text
OC\Preview\Movie
OC\Preview\MP4
OC\Preview\AVI
OC\Preview\MKV
OC\Preview\WebM
OC\Preview\MOV
👉 画像系(JPEG / PNG)が存在しない
対応内容(何をどうしたか)
① config.php を vi で編集
bash
sudo -u apache vi config/config.php
enabledPreviewProviders を「動画のみ」→「画像+動画」に修正
(既存の配列は 追記ではなく置き換え)
php
'enable_previews' => true,'enabledPreviewProviders' => [
// 画像
'OC\Preview\PNG',
'OC\Preview\JPEG',
'OC\Preview\GIF',
'OC\Preview\BMP',
'OC\Preview\XBitmap',
// 動画
'OC\Preview\Movie',
'OC\Preview\MP4',
'OC\Preview\AVI',
'OC\Preview\MKV',
'OC\Preview\WebM',
'OC\Preview\MOV',
// 軽量系
'OC\Preview\TXT',
'OC\Preview\MarkDown',
],
保存して終了:
text
Esc
:wq
Enter
② 既存の壊れたプレビューキャッシュを削除
※ Nextcloud の仕様上 preview:clear は存在しない
bash
`sudo -u apache php occ preview:cleanup`
③ PHP / Apache 再起動
bash
sudo systemctl restart php-fpmsudo systemctl restart httpd
④ 確認
bash
sudo -u apache php occ config:system:get enabledPreviewProviders
ここに以下が含まれていれば OK:
text
OC\Preview\PNG
OC\Preview\JPEG`
⑤ ブラウザで確認
- Files アプリで png / jpg を表示 → サムネイル表示
- Deck のカード内画像 → 正常表示
imagick について(回り道に見えた部分の整理)
- imagick が無くても PreviewProvider が有効なら GD で表示される
- 今回は Provider が無効だったため、imagick を入れても最初は改善しなかった
- ただし最終状態としては:
bash
php -m | grep imagickimagick
👉 Nextcloud 的には推奨構成
👉 無駄にはなっていない
まとめ(要点だけ)
- 原因
→ enabledPreviewProviders が動画系のみに制限されていた - なぜ mp4 だけ見えたか
→ 動画と画像は別 PreviewProvider - 直し方
→ config.php で画像系 PreviewProvider を明示的に有効化
→ キャッシュ削除 → 再起動 - 環境は壊れていない
→ PHP 本体は一切入れ替わっていない