Skip to content

Nextcloud Hub8 Keine Previews

Nextcloud
  • Mit dem Upgrade auf Hub8 fing das Dilemma an, mir fehlten die Previews. Und das war diesmal eine echt harte Nuss. Es gibt diesen Befehl, der eigentlich alle Previews neu anlegen soll.

    sudo -u www-data php /nextcloud/occ preview:generate-all -vvv
    

    Aber, ich bekam immer diese kryptische (für mich) Fehlermeldung.

    2024-06-10T15:09:10+00:00 In File.php line 56:
    2024-06-10T15:09:10+00:00                                     
    2024-06-10T15:09:10+00:00   [OCP\Files\GenericFileException]  
    2024-06-10T15:09:10+00:00                                     
    2024-06-10T15:09:10+00:00 
    2024-06-10T15:09:10+00:00 Exception trace:
    2024-06-10T15:09:10+00:00   at /nextcloud/lib/private/Files/Node/File.php:56
    2024-06-10T15:09:10+00:00  OC\Files\Node\File->getContent() at /nextcloud/lib/private/Files/SimpleFS/SimpleFile.php:74
    2024-06-10T15:09:10+00:00  OC\Files\SimpleFS\SimpleFile->getContent() at /nextcloud/lib/private/Preview/GeneratorHelper.php:73
    2024-06-10T15:09:10+00:00  OC\Preview\GeneratorHelper->getImage() at /nextcloud/lib/private/Preview/Generator.php:190
    2024-06-10T15:09:10+00:00  OC\Preview\Generator->generatePreviews() at /nextcloud/lib/private/PreviewManager.php:207
    2024-06-10T15:09:10+00:00  OC\PreviewManager->generatePreviews() at /nextcloud/apps/previewgenerator/lib/Command/Generate.php:230
    2024-06-10T15:09:10+00:00  OCA\PreviewGenerator\Command\Generate->parseFile() at /nextcloud/apps/previewgenerator/lib/Command/Generate.php:212
    2024-06-10T15:09:10+00:00  OCA\PreviewGenerator\Command\Generate->parseFolder() at /nextcloud/apps/previewgenerator/lib/Command/Generate.php:210
    2024-06-10T15:09:10+00:00  OCA\PreviewGenerator\Command\Generate->parseFolder() at /nextcloud/apps/previewgenerator/lib/Command/Generate.php:190
    2024-06-10T15:09:10+00:00  OCA\PreviewGenerator\Command\Generate->generateUserPreviews() at /nextcloud/apps/previewgenerator/lib/Command/Generate.php:136
    2024-06-10T15:09:10+00:00  OCA\PreviewGenerator\Command\Generate->OCA\PreviewGenerator\Command\{closure}() at /nextcloud/lib/private/User/Manager.php:666
    2024-06-10T15:09:10+00:00  OC\User\Manager->callForSeenUsers() at /nextcloud/apps/previewgenerator/lib/Command/Generate.php:135
    2024-06-10T15:09:10+00:00  OCA\PreviewGenerator\Command\Generate->execute() at /nextcloud/3rdparty/symfony/console/Command/Command.php:298
    2024-06-10T15:09:10+00:00  Symfony\Component\Console\Command\Command->run() at /nextcloud/3rdparty/symfony/console/Application.php:1040
    2024-06-10T15:09:10+00:00  Symfony\Component\Console\Application->doRunCommand() at /nextcloud/3rdparty/symfony/console/Application.php:301
    2024-06-10T15:09:10+00:00  Symfony\Component\Console\Application->doRun() at /nextcloud/3rdparty/symfony/console/Application.php:171
    2024-06-10T15:09:10+00:00  Symfony\Component\Console\Application->run() at /nextcloud/lib/private/Console/Application.php:213
    2024-06-10T15:09:10+00:00  OC\Console\Application->run() at /nextcloud/console.php:102
    2024-06-10T15:09:10+00:00  require_once() at /nextcloud/occ:11
    2024-06-10T15:09:10+00:00 
    2024-06-10T15:09:10+00:00 preview:generate-all [-p|--path [PATH]] [--] [<user_id>...]
    

    Ich weiß nicht, was ich alles versucht habe. Ich versucht dieses File.php zu finden, das ist gar nicht so einfach. Irgendwann bin ich dann bei meiner config.php gelandet. Meine 'enabledPreviewProviders' sahen anders aus, als beim config.sample.php. So habe ich mich entschieden, diese anzupassen.

      'enable_previews' => true,
      'preview_concurrency_all' => 8,
      'preview_concurrency_new' => 4,
      'preview_max_x' => 2048,
      'preview_max_y' => 2048,
      'preview_max_scale_factor' => 1,
      'preview_libreoffice_path' => '/usr/bin/libreoffice',
      'preview_max_filesize_image' => 50,
      'preview_max_memory' => 256,
      'preview_ffmpeg_path' => '/usr/bin/ffmpeg',
      'enabledPreviewProviders' => [
            'OC\Preview\BMP',
            'OC\Preview\GIF',
            'OC\Preview\JPEG',
            'OC\Preview\Krita',
            'OC\Preview\MarkDown',
            'OC\Preview\Movie', 
            'OC\Preview\MP3',
            'OC\Preview\OpenDocument',
            'OC\Preview\PDF', 
            'OC\Preview\PNG',
            'OC\Preview\TXT',
            'OC\Preview\XBitmap',
      ],
      'preview_file_endings' => [
        'jpg',
        'jpeg',
        'png',
        'gif',
        'bmp',
        'pdf'
      ],
    

    Irgendwann tauchten die ersten Previews auf. Seltsamerweise erzeugte er immer nur Previews, wenn die Dateiendung .jpg war. Wenn es .JPG war, wurde kein Preview erzeugt. Häh!?!?!?

    Ok, alle Dateien umbenannt.

    find <PATH>/Frank/files/ -type f -name '*.JPG' -exec rename 's/\.JPG$/\.jpg/' '{}' \;
    

    Danach wurden auch die Previews erzeugt.

    Noch ein paar Befehle, die hilfreich sind.

    Scant alle Files neu, nachdem man z.B. eines auf dem Filesystem umbenannt hat und trägt das in die Datenbank ein.

    sudo -u www-data php occ files:scan --all
    

    Generiert alle (?) Previews erneut!?

    sudo -u www-data php /nextcloud/occ preview:generate-all -vvv
    

    Erzeugt nur Previews von allen geänderten / neuen Files (?)

    sudo -u www-data php occ preview:pre-generate
    

    Fazit

    Das letzte Upgrade auf 8.0 war eines der Schlechteren. Vieles ist kaputt und man weiß auch nicht genau, woran es liegt. Da ich dazu im Internet nicht viel gefunden habe, vermute ich ich bin alleine 🙂

    Dagegen spricht dieser Link -> https://github.com/nextcloud/previewgenerator/issues und dieser -> https://github.com/nextcloud/server/issues?q=is%3Aissue+preview+is%3Aopen

    Bei beiden findet man ganz viele offene Bugs im Zusammenhang mit der Preview Funktion. Ich stelle hier mal bewusst die Frage, ob das Nextcloud Team etwas zu viel Zeit damit verbringt KI / AI einzubauen?

    Leider weiß ich jetzt hier am Ende auch nicht zu 100% woran es lag, aber vielleicht gibt es dem ein oder anderen dem es helfen kann. Viel Erfolg!

  • Noch als Ergänzung, der Server läuft mit Debian 12

    # uname -a
    Linux webserver1-4gb-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.90-1 (2024-05-03) x86_64 GNU/Linux
    

  • NodeBB - v3.9.0

    NodeBB
    1
    0 Stimmen
    1 Beiträge
    114 Aufrufe
    Niemand hat geantwortet
  • Fedora 40

    Linux
    2
    +7
    0 Stimmen
    2 Beiträge
    257 Aufrufe
    FrankMF
    Ja, der Btrfs Assistant ist doch ein klasse Tool Heute mal weiter mit rum gespielt. Man muss natürlich auch für die Home-Partition eine Konfiguration anlegen. [image: 1724169277045-config_home.png] Danach mal getestet, ob das auch klappt. Einen neuen Ordner unter /home/frank angelegt. Davor hatte ich einen Snapshot angelegt. [image: 1724169282591-snapshots-home.png] Danach den Snapshot vor der Erstellung des Ordners wieder hergestellt. Dann wird man zu einem Reboot aufgefordert. Also neugestartet und der Ordner ist wieder weg. Irgendwie mag ich diese Funktion
  • Ubiquiti ER-X - Installation

    Verschoben OpenWRT & Ubiquiti ER-X
    1
    +0
    0 Stimmen
    1 Beiträge
    580 Aufrufe
    Niemand hat geantwortet
  • Kopia 0.7.x released

    Kopia
    1
    0 Stimmen
    1 Beiträge
    226 Aufrufe
    Niemand hat geantwortet
  • Nextcloud - Update auf 17.0.3

    Nextcloud
    1
    0 Stimmen
    1 Beiträge
    206 Aufrufe
    Niemand hat geantwortet
  • SCP mit IPv6 nutzen

    Linux
    1
    0 Stimmen
    1 Beiträge
    234 Aufrufe
    Niemand hat geantwortet
  • NAS - Cups & Sane

    Linux
    1
    0 Stimmen
    1 Beiträge
    489 Aufrufe
    Niemand hat geantwortet
  • Let's Encrypt installieren

    Verschoben Let's Encrypt
    3
    0 Stimmen
    3 Beiträge
    1k Aufrufe
    FrankMF
    Wenn ihr alles richtig gemacht habt, dann könnt ihr Euer Zertifikat überprüfen lassen. Sollte dann so aussehen. [image: 1538314121022-index-resized.jpeg]