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
    
  • Rest-Server v0.13.0 released

    Restic
    2
    0 Stimmen
    2 Beiträge
    333 Aufrufe
    FrankMF
    Download Rest-Server und installieren Im Github Repository den aktuellen Release suchen. Hier am Beispiel der aktuellen Version 0.13.0 (27.07.2024) Datei herunterladen wget https://github.com/restic/rest-server/releases/download/v0.13.0/rest-server_0.13.0_linux_amd64.tar.gz Die Datei entpacken tar -xf rest-server_0.13.0_linux_amd64.tar.gz Ins Verzeichnis wechseln cd rest-server_0.13.0_linux_amd64 Wenn der Rest-Server läuft, dann muss man diesen erst mal stoppen. systemctl stop rest-server Danach kopiert man das File nach bin. Wer mag sichert vorher das alte File. cp rest-server /usr/local/bin Danach kann man den Rest-Server wieder starten. systemctl start rest-server Versionskontrolle root@rest-server:~# rest-server -v rest-server version rest-server 0.13.0 compiled with go1.22.5 on linux/amd64 Die Hilfe vom Rest-Server root@rest-server:~# rest-server -h Run a REST server for use with restic Usage: rest-server [flags] Flags: --append-only enable append only mode --cpu-profile string write CPU profile to file --debug output debug messages -h, --help help for rest-server --htpasswd-file string location of .htpasswd file (default: "<data directory>/.htpasswd)" --listen string listen address (default ":8000") --log filename write HTTP requests in the combined log format to the specified filename (use "-" for logging to stdout) --max-size int the maximum size of the repository in bytes --no-auth disable .htpasswd authentication --no-verify-upload do not verify the integrity of uploaded data. DO NOT enable unless the rest-server runs on a very low-power device --path string data directory (default "/tmp/restic") --private-repos users can only access their private repo --prometheus enable Prometheus metrics --prometheus-no-auth disable auth for Prometheus /metrics endpoint --tls turn on TLS support --tls-cert string TLS certificate path --tls-key string TLS key path -v, --version version for rest-server Systemd Wer noch ein passendes systemd File benötigt. [Unit] Description=Rest Server After=syslog.target After=network.target [Service] Type=simple User=rest-server Group=rest-server ExecStart=/usr/local/bin/rest-server --private-repos --tls --tls-cert /mnt/rest-server/<DOMAIN>/fullchain.pem --tls-key /mnt/rest-server/<DOMAIN>/key.pem --path /mnt/rest-server Restart=always RestartSec=5 # Optional security enhancements NoNewPrivileges=yes PrivateTmp=yes ProtectSystem=strict ProtectHome=yes ReadWritePaths=/mnt/rest-server [Install] WantedBy=multi-user.target
  • Manjaro - KDE Plasma 6

    Linux
    3
    3
    0 Stimmen
    3 Beiträge
    765 Aufrufe
    FrankMF
    Da fällt mir heute beim Lesen dieses Beitrages auf das ich damals ja auf unstable gestellt habe. [frank-manjaro ~]# pacman-mirrors --get-branch unstable Anleitung dazu -> https://wiki.manjaro.org/index.php/Switching_Branches Ok, da könnte ja auch mal was schief gehen? Da ich hier aber ein btrfs Filesystem fahre und Timeshift Snapshots anlegt, sollte das Risiko überschaubar sein. [image: 1714893983029-567442e5-80f0-4ce9-9b91-3e8f9a4a94d8-grafik.png] Es werden bei jeder Aktion vorher Snapshots angelegt, auf die man im Grub Menü zugreifen kann und diese wieder installieren lassen kann. Hatte das früher schon mal getestet, ging wirklich gut. Werde ich die Tage auch hier auf dem System, zur Sicherheit, mal testen. Fazit, ich lasse das mal so wie es ist
  • Ansible - Hetzner Server erstellen

    Verschoben Ansible
    1
    3
    0 Stimmen
    1 Beiträge
    281 Aufrufe
    Niemand hat geantwortet
  • Ubuntu 21.04 (Hirsute Hippo) Beta

    Linux
    6
    2
    0 Stimmen
    6 Beiträge
    514 Aufrufe
    FrankMF
    Seit heute ist Ubuntu mal wieder Geschichte. Bin wieder zurück auf Linux Mint Cinnamon. Die zwei wichtigsten Gründen Wenn ich unter Ubuntu (Wayland) VLC zum TV schauen an geschmissen habe, war in unregelmäßigen Abständen das UI in mehreren Fenster aufgegangen. Blöd nur, das man das TV Bild nicht zoomen konnte. Das Hauptproblem! Ab und zu passierte es, wenn ich auf das Firefox Icon geklickt habe, das der ganze Desktop einen Freeze hatte. Incl. unbenutzbarer Tastatur und Maus. Blieb dann leider nur der Reset. Blöd nur, das das immer dann passierte, wenn man es gerade gar nicht gebrauchen konnte. Bin dann wieder auf eine hoffentlich stabilere Distribution zurück gegangen. Nun wieder als X-Desktop. Wayland ist die Zukunft, da dort die Latenzen um Längen besser sind, als unter X. Aber, es bedarf da noch einer gewissen Entwicklungszeit. Wollen wir hoffen, das mit dem nächsten Ubuntu Release die Kinderkrankheiten ausgemerzt sind. [image: 1625860783134-d74e1c43-2a70-4ef0-ace5-7d8ac2c3e99a-grafik.png]
  • Kopia

    Allgemeine Diskussionen
    1
    0 Stimmen
    1 Beiträge
    287 Aufrufe
    Niemand hat geantwortet
  • Wireguard 1.0.0

    Wireguard
    1
    0 Stimmen
    1 Beiträge
    287 Aufrufe
    Niemand hat geantwortet
  • IPTables Logging

    Linux
    1
    0 Stimmen
    1 Beiträge
    296 Aufrufe
    Niemand hat geantwortet
  • Logger

    Linux
    1
    0 Stimmen
    1 Beiträge
    415 Aufrufe
    Niemand hat geantwortet