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
    

  • Update 1.32.1 released

    Vaultwarden
    1
    0 Stimmen
    1 Beiträge
    78 Aufrufe
    Niemand hat geantwortet
  • Star64 lieferbar

    Star64
    1
    0 Stimmen
    1 Beiträge
    66 Aufrufe
    Niemand hat geantwortet
  • Manjaro Stable-Update vom 20.02.23

    Linux
    2
    0 Stimmen
    2 Beiträge
    105 Aufrufe
    FrankMF

    Ich konnte es nicht lassen, ich habe es mal getestet.

       ~  docker version  ✔  1m 37s  Client: Version: 23.0.1 API version: 1.42 Go version: go1.20 Git commit: a5ee5b1dfc Built: Sat Feb 11 13:58:04 2023 OS/Arch: linux/amd64 Context: default

    In der aktuellen systemd Datei steht folgendes drin. Bei mir zu finden unter /usr/lib/systemd/system/docker.service

    LimitNOFILE=infinity LimitNPROC=infinity LimitCORE=infinity

    Die override Dateien angelegt und durchgestartet. Läuft alles einwandfrei. Aber bitte fragt mich nicht, was dieser Wert da oben macht. Ich habe keine Ahnung.

    Update: Erklärung zu ulimits https://stackoverflow.com/questions/62127643/need-understand-ulimits-nofile-setting-in-host-and-container

  • Redis - Zweite Instanz

    Redis
    1
    0 Stimmen
    1 Beiträge
    220 Aufrufe
    Niemand hat geantwortet
  • Nextcloud 21.0.2 - Kann kein PDF anzeigen!?

    Nextcloud
    1
    0 Stimmen
    1 Beiträge
    176 Aufrufe
    Niemand hat geantwortet
  • ROCKPro64 - Projekt Wireguard Server

    Verschoben ROCKPro64
    2
    0 Stimmen
    2 Beiträge
    482 Aufrufe
    FrankMF

    Hat ein wenig Nerven gekostet und der Artikel ist auch was länger geworden 🙂 Viel Spaß beim Lesen und testen!

  • Redis Replication

    Angeheftet Verschoben Redis
    4
    1 Stimmen
    4 Beiträge
    450 Aufrufe
    FrankMF

    Um die Verbindung zu testen, kann man folgende Befehle nutzen.

    redis-cli -h 10.1.1.0 -p 6379 -a <PASSWORD>

    und

    telnet 10.1.1.0 6379
  • Restic - Ein Backupkonzept

    Angeheftet Restic
    1
    0 Stimmen
    1 Beiträge
    1k Aufrufe
    Niemand hat geantwortet