Collabora preview generation errors and files not loading

The Basics

  • Nextcloud Server version: 30.0.2
  • Operating system and version: Docker 4.36.0 on Windows 10
  • PHP version: 8.3.13
  • Is this the first time you’ve seen this error?: Yes
  • When did this problem seem to first start?: I think after the latest update, the one with the external apps support
  • Installation method: AIO 10.0.0
  • Are you using Cloudflare, mod_security, or similar?: No

Summary of the issue you are facing:

The symptoms:

  • The whole cloud acts unusually slow recently
  • Opening a folder containing office files, the preview generation takes longer than expected; some files don’t get a preview altogether
  • Opening an office file, Collabora sometimes denies loading at all, however while a user without admin privileges experiences that very often and for long periods of repeated trying, I only experienced that once yet.
  • Sometimes it works but says it thinks it is being used commercially
    Error 2
    I think it works for other users once I close that message, at least for a time. There is one other user currently actively using the cloud besides myself and there is no way they have that many documents or connections open and I don’t either.

Other possibly related occurrences:

  • The docker-api posted errors to the log about not finding some docker image. I deactivated it as it seemed to currently only be necessary for AI apps.
  • The Memories app tells me in its settings that it recommends to deactivate imaginary due to some issues with some rare format which I didn’t comply with. Currently, all preview settings in Memories are turned on, including imaginary.
  • When I delete a file and immediately rename another file to the name the deleted file had, that file can not be loaded for some time and a bunch of errors appears in the log (which may be normal though),
  • The previews do not seem to be saved, or if they are, they take noticably long to load, just as if they were created anew,
  • I am using the Forms app and have the results exported to files. These files are regularly changed and thus need a new preview, also they appear on top of the recent files section often,

Things I tried:

  • Deactivated the api-app (not sure if that is anyhow related but that is a thing I did since I have this problem).
  • Switched to various combinations of preview generation settings for the Memories app.
  • Restarted the whole server and updated docker.

Is there a way to disable preview generation for office files altogether? I don’t need them anyway and prefer to see the filetype by the file’s icon

Steps to replicate it (hint: details matter!):

  1. Open folder containing an office file

Log entries

Nextcloud

{"reqId":"████████████████████","level":3,"time":"2024-12-03T20:18:15+00:00","remoteAddr":"127.0.0.1","user":"admin","app":"richdocuments","method":"GET","url":"/core/preview?fileId=34114&x=250&y=250","message":"Failed to convert preview: cURL error 28: Operation timed out after 5002 milliseconds with 0 bytes received (see https://curl.haxx.se/libcurl/c/libcurl-errors.html) for https://MYCLOUD.URL/cool/convert-to/png","userAgent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:133.0) Gecko/20100101 Firefox/133.0","version":"30.0.2.2","exception":{"Exception":"GuzzleHttp\\Exception\\ConnectException","Message":"cURL error 28: Operation timed out after 5002 milliseconds with 0 bytes received (see https://curl.haxx.se/libcurl/c/libcurl-errors.html) for https://MYCLOUD.URL/cool/convert-to/png","Code":0,"Trace":[{"file":"/var/www/html/3rdparty/guzzlehttp/guzzle/src/Handler/CurlFactory.php","line":158,"function":"createRejection","class":"GuzzleHttp\\Handler\\CurlFactory","type":"::","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/html/3rdparty/guzzlehttp/guzzle/src/Handler/CurlFactory.php","line":110,"function":"finishError","class":"GuzzleHttp\\Handler\\CurlFactory","type":"::","args":[{"__class__":"GuzzleHttp\\Handler\\CurlHandler"},"*** sensitive parameters replaced ***",{"__class__":"GuzzleHttp\\Handler\\CurlFactory"}]},{"file":"/var/www/html/3rdparty/guzzlehttp/guzzle/src/Handler/CurlHandler.php","line":47,"function":"finish","class":"GuzzleHttp\\Handler\\CurlFactory","type":"::","args":[{"__class__":"GuzzleHttp\\Handler\\CurlHandler"},"*** sensitive parameters replaced ***",{"__class__":"GuzzleHttp\\Handler\\CurlFactory"}]},{"file":"/var/www/html/3rdparty/guzzlehttp/guzzle/src/Middleware.php","line":142,"function":"__invoke","class":"GuzzleHttp\\Handler\\CurlHandler","type":"->","args":["*** sensitive parameters replaced ***","*** sensitive parameters replaced ***"]},{"file":"/var/www/html/lib/private/Http/Client/DnsPinMiddleware.php","line":106,"function":"GuzzleHttp\\{closure}","class":"GuzzleHttp\\Middleware","type":"::","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/html/3rdparty/guzzlehttp/guzzle/src/PrepareBodyMiddleware.php","line":64,"function":"OC\\Http\\Client\\{closure}","class":"OC\\Http\\Client\\DnsPinMiddleware","type":"->","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/html/3rdparty/guzzlehttp/guzzle/src/Middleware.php","line":31,"function":"__invoke","class":"GuzzleHttp\\PrepareBodyMiddleware","type":"->","args":["*** sensitive parameters replaced ***","*** sensitive parameters replaced ***"]},{"file":"/var/www/html/3rdparty/guzzlehttp/guzzle/src/RedirectMiddleware.php","line":71,"function":"GuzzleHttp\\{closure}","class":"GuzzleHttp\\Middleware","type":"::","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/html/3rdparty/guzzlehttp/guzzle/src/Middleware.php","line":66,"function":"__invoke","class":"GuzzleHttp\\RedirectMiddleware","type":"->","args":["*** sensitive parameters replaced ***","*** sensitive parameters replaced ***"]},{"file":"/var/www/html/3rdparty/guzzlehttp/guzzle/src/HandlerStack.php","line":75,"function":"GuzzleHttp\\{closure}","class":"GuzzleHttp\\Middleware","type":"::","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/html/3rdparty/guzzlehttp/guzzle/src/Client.php","line":333,"function":"__invoke","class":"GuzzleHttp\\HandlerStack","type":"->","args":["*** sensitive parameters replaced ***","*** sensitive parameters replaced ***"]},{"file":"/var/www/html/3rdparty/guzzlehttp/guzzle/src/Client.php","line":169,"function":"transfer","class":"GuzzleHttp\\Client","type":"->","args":["*** sensitive parameters replaced ***","*** sensitive parameters replaced ***"]},{"file":"/var/www/html/3rdparty/guzzlehttp/guzzle/src/Client.php","line":189,"function":"requestAsync","class":"GuzzleHttp\\Client","type":"->","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/html/lib/private/Http/Client/Client.php","line":276,"function":"request","class":"GuzzleHttp\\Client","type":"->","args":["*** sensitive parameters replaced ***","*** sensitive parameters replaced ***",{"0":"And 2 more entries, set log level to debug to see all entries","verify":"/var/www/html/resources/config/ca-bundle.crt","timeout":5,"nextcloud":{"allow_local_address":true},"expect":false,"multipart":[{"name":"FILENAME.ods","contents":null}]}]},{"file":"/var/www/html/custom_apps/richdocuments/lib/Service/RemoteService.php","line":92,"function":"post","class":"OC\\Http\\Client\\Client","type":"->","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/html/custom_apps/richdocuments/lib/Service/RemoteService.php","line":72,"function":"convertTo","class":"OCA\\Richdocuments\\Service\\RemoteService","type":"->","args":["FILENAME.ods",null,"png"]},{"file":"/var/www/html/custom_apps/richdocuments/lib/Preview/Office.php","line":41,"function":"convertFileTo","class":"OCA\\Richdocuments\\Service\\RemoteService","type":"->","args":[{"__class__":"OC\\Files\\Node\\File"},"png"]},{"file":"/var/www/html/lib/private/Preview/GeneratorHelper.php","line":44,"function":"getThumbnail","class":"OCA\\Richdocuments\\Preview\\Office","type":"->","args":[{"__class__":"OC\\Files\\Node\\File"},1024,1024]},{"file":"/var/www/html/lib/private/Preview/Generator.php","line":337,"function":"getThumbnail","class":"OC\\Preview\\GeneratorHelper","type":"->","args":[{"__class__":"OCA\\Richdocuments\\Preview\\OpenDocument"},{"__class__":"OC\\Files\\Node\\File"},1024,1024]},{"file":"/var/www/html/lib/private/Preview/Generator.php","line":313,"function":"generateProviderPreview","class":"OC\\Preview\\Generator","type":"->","args":[{"__class__":"OC\\Files\\SimpleFS\\SimpleFolder"},{"__class__":"OC\\Files\\Node\\File"},1024,1024,false,true,"application/vnd.oasis.opendocument.spreadsheet",""]},{"file":"/var/www/html/lib/private/Preview/Generator.php","line":119,"function":"getMaxPreview","class":"OC\\Preview\\Generator","type":"->","args":[{"__class__":"OC\\Files\\SimpleFS\\SimpleFolder"},[],{"__class__":"OC\\Files\\Node\\File"},"application/vnd.oasis.opendocument.spreadsheet",""]},{"file":"/var/www/html/lib/private/Preview/Generator.php","line":86,"function":"generatePreviews","class":"OC\\Preview\\Generator","type":"->","args":[{"__class__":"OC\\Files\\Node\\File"},[{"width":250,"height":250,"crop":true,"mode":"fill"}],"application/vnd.oasis.opendocument.spreadsheet"]},{"file":"/var/www/html/lib/private/PreviewManager.php","line":167,"function":"getPreview","class":"OC\\Preview\\Generator","type":"->","args":[{"__class__":"OC\\Files\\Node\\File"},250,250,true,"fill",null]},{"file":"/var/www/html/core/Controller/PreviewController.php","line":159,"function":"getPreview","class":"OC\\PreviewManager","type":"->","args":[{"__class__":"OC\\Files\\Node\\File"},250,250,true,"fill"]},{"file":"/var/www/html/core/Controller/PreviewController.php","line":123,"function":"fetchPreview","class":"OC\\Core\\Controller\\PreviewController","type":"->","args":[{"__class__":"OC\\Files\\Node\\File"},250,250,false,true,"fill",false]},{"file":"/var/www/html/lib/private/AppFramework/Http/Dispatcher.php","line":208,"function":"getPreviewByFileId","class":"OC\\Core\\Controller\\PreviewController","type":"->","args":[34114,250,250,false,true,"fill",false]},{"file":"/var/www/html/lib/private/AppFramework/Http/Dispatcher.php","line":114,"function":"executeController","class":"OC\\AppFramework\\Http\\Dispatcher","type":"->","args":[{"__class__":"OC\\Core\\Controller\\PreviewController"},"getPreviewByFileId"]},{"file":"/var/www/html/lib/private/AppFramework/App.php","line":161,"function":"dispatch","class":"OC\\AppFramework\\Http\\Dispatcher","type":"->","args":[{"__class__":"OC\\Core\\Controller\\PreviewController"},"getPreviewByFileId"]},{"file":"/var/www/html/lib/private/Route/Router.php","line":302,"function":"main","class":"OC\\AppFramework\\App","type":"::","args":["OC\\Core\\Controller\\PreviewController","getPreviewByFileId",{"__class__":"OC\\AppFramework\\DependencyInjection\\DIContainer"},{"_route":"core.preview.getpreviewbyfileid"}]},{"file":"/var/www/html/lib/base.php","line":1001,"function":"match","class":"OC\\Route\\Router","type":"->","args":["/core/preview"]},{"file":"/var/www/html/index.php","line":24,"function":"handleRequest","class":"OC","type":"::","args":[]}],"File":"/var/www/html/3rdparty/guzzlehttp/guzzle/src/Handler/CurlFactory.php","Line":210,"message":"Failed to convert preview: cURL error 28: Operation timed out after 5002 milliseconds with 0 bytes received (see https://curl.haxx.se/libcurl/c/libcurl-errors.html) for https://MYCLOUD.URL/cool/convert-to/png","exception":[],"CustomMessage":"Failed to convert preview: cURL error 28: Operation timed out after 5002 milliseconds with 0 bytes received (see https://curl.haxx.se/libcurl/c/libcurl-errors.html) for https://MYCLOUD.URL/cool/convert-to/png"},"id":"█████████████"}

Web Browser

From the console:

GET
https://MYCLOUD.URL/core/preview?fileId=34114&x=250&y=250
[HTTP/1.1 404  0ms]

	
GET
	https://MYCLOUD.URL/core/preview?fileId=34114&x=250&y=250
Status
404
VersionHTTP/1.1
Übertragen2 B (2 B Größe)
Referrer Policyno-referrer
Anfrage-PrioritätLow
DNS-AuflĂśsungSystem

    	
    alt-svc
    	h3=":443"; ma=2592000
    cache-control
    	no-cache, no-store, must-revalidate
    content-length
    	2
    content-security-policy
    	default-src 'none';base-uri 'none';manifest-src 'self';frame-ancestors 'none'
    content-type
    	application/json; charset=utf-8
    date
    	Tue, 03 Dec 2024 20:53:39 GMT
    feature-policy
    	autoplay 'none';camera 'none';fullscreen 'none';geolocation 'none';microphone 'none';payment 'none'
    referrer-policy
    	no-referrer
    strict-transport-security
    	max-age=31536000;
    x-content-type-options
    	nosniff
    X-Firefox-Spdy
    	h2
    x-frame-options
    	SAMEORIGIN
    x-permitted-cross-domain-policies
    	none
    x-request-id
    	[...]
    x-robots-tag
    	noindex, nofollow
    x-xss-protection
    	1; mode=block
    	
    Accept
    	image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5
    Accept-Encoding
    	gzip, deflate, br, zstd
    Accept-Language
    	[...]
    Connection
    	keep-alive
    Cookie
    	[...]
    DNT
    	1
    Host
    	MYCLOUD.URL
    Sec-Fetch-Dest
    	image
    Sec-Fetch-Mode
    	no-cors
    Sec-Fetch-Site
    	same-origin
    Sec-GPC
    	1
    User-Agent
    	Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:133.0) Gecko/20100101 Firefox/133.0

Configuration

Nextcloud

{
    "system": {
        "one-click-instance": true,
        "one-click-instance.user-limit": 100,
        "memcache.local": "\\OC\\Memcache\\APCu",
        "apps_paths": [
            {
                "path": "\/var\/www\/html\/apps",
                "url": "\/apps",
                "writable": false
            },
            {
                "path": "\/var\/www\/html\/custom_apps",
                "url": "\/custom_apps",
                "writable": true
            }
        ],
        "check_data_directory_permissions": false,
        "memcache.distributed": "\\OC\\Memcache\\Redis",
        "memcache.locking": "\\OC\\Memcache\\Redis",
        "redis": {
            "host": "***REMOVED SENSITIVE VALUE***",
            "password": "***REMOVED SENSITIVE VALUE***",
            "port": ████
        },
        "overwritehost": "cloud.akademie-siebenburg.de",
        "overwriteprotocol": "https",
        "passwordsalt": "***REMOVED SENSITIVE VALUE***",
        "secret": "***REMOVED SENSITIVE VALUE***",
        "trusted_domains": [
            "localhost",
            "MYCLOUD.URL"
        ],
        "datadirectory": "***REMOVED SENSITIVE VALUE***",
        "dbtype": "pgsql",
        "version": "30.0.2.2",
        "overwrite.cli.url": "https:\/\/MYCLOUD.URL\/",
        "dbname": "***REMOVED SENSITIVE VALUE***",
        "dbhost": "***REMOVED SENSITIVE VALUE***",
        "dbport": "",
        "dbtableprefix": "oc_",
        "dbuser": "***REMOVED SENSITIVE VALUE***",
        "dbpassword": "***REMOVED SENSITIVE VALUE***",
        "installed": true,
        "instanceid": "***REMOVED SENSITIVE VALUE***",
        "maintenance": false,
        "loglevel": 1,
        "log_type": "file",
        "logfile": "\/var\/www\/html\/data\/nextcloud.log",
        "log_rotate_size": "10485760",
        "log.condition": {
            "apps": [
                "admin_audit"
            ]
        },
        "preview_max_x": 1024,
        "preview_max_y": 1024,
        "jpeg_quality": 60,
        "enabledPreviewProviders": [
            "OC\\Preview\\MarkDown",
            "OC\\Preview\\MP3",
            "OC\\Preview\\TXT",
            "OC\\Preview\\OpenDocument",
            "OC\\Preview\\Krita",
            "OC\\Preview\\Imaginary",
            "OC\\Preview\\Image",
            "OC\\Preview\\HEIC",
            "OC\\Preview\\TIFF",
            "OC\\Preview\\Movie"
        ],
        "enable_previews": true,
        "upgrade.disable-web": true,
        "mail_smtpmode": "smtp",
        "trashbin_retention_obligation": "auto, 30",
        "versions_retention_obligation": "auto, 30",
        "activity_expire_days": "30",
        "simpleSignUpLink.shown": false,
        "share_folder": "\/Shared",
        "one-click-instance.link": "https:\/\/nextcloud.com\/all-in-one\/",
        "upgrade.cli-upgrade-link": "https:\/\/github.com\/nextcloud\/all-in-one\/discussions\/2726",
        "updatedirectory": "\/nc-updater",
        "davstorage.request_timeout": 3600,
        "htaccess.RewriteBase": "\/",
        "dbpersistent": false,
        "files_external_allow_create_new_local": false,
        "trusted_proxies": "***REMOVED SENSITIVE VALUE***",
        "allow_local_remote_servers": true,
        "preview_imaginary_url": "***REMOVED SENSITIVE VALUE***",
        "mail_sendmailmode": "smtp",
        "mail_from_address": "***REMOVED SENSITIVE VALUE***",
        "mail_domain": "***REMOVED SENSITIVE VALUE***",
        "mail_smtphost": "***REMOVED SENSITIVE VALUE***",
        "mail_smtpport": "465",
        "mail_smtpauth": 1,
        "mail_smtpname": "***REMOVED SENSITIVE VALUE***",
        "mail_smtppassword": "***REMOVED SENSITIVE VALUE***",
        "mail_smtpsecure": "ssl",
        "default_phone_region": "██",
        "appsallowlist": false,
        "maintenance_window_start": 100,
        "preview_imaginary_key": "***REMOVED SENSITIVE VALUE***",
        "auth.bruteforce.protection.enabled": true,
        "ratelimit.protection.enabled": true,
        "data-fingerprint": "***REMOVED SENSITIVE VALUE***",
        "memories.db.triggers.fcu": true,
        "memories.exiftool": "\/var\/www\/html\/custom_apps\/memories\/bin-ext\/exiftool-amd64-musl",
        "memories.vod.path": "\/var\/www\/html\/custom_apps\/memories\/bin-ext\/go-vod-amd64",
        "memories.vod.ffmpeg": "\/usr\/bin\/ffmpeg",
        "memories.vod.ffprobe": "\/usr\/bin\/ffprobe",
        "defaultapp": "files",
        "documentation_url.server_logs": "https:\/\/github.com\/nextcloud\/all-in-one\/discussions\/5425",
        "forbidden_filename_basenames": [
            "con",
            "prn",
            "aux",
            "nul",
            "com0",
            "com1",
            "com2",
            "com3",
            "com4",
            "com5",
            "com6",
            "com7",
            "com8",
            "com9",
            "com\u00b9",
            "com\u00b2",
            "com\u00b3",
            "lpt0",
            "lpt1",
            "lpt2",
            "lpt3",
            "lpt4",
            "lpt5",
            "lpt6",
            "lpt7",
            "lpt8",
            "lpt9",
            "lpt\u00b9",
            "lpt\u00b2",
            "lpt\u00b3"
        ],
        "forbidden_filename_characters": [
            "<",
            ">",
            ":",
            "\"",
            "|",
            "?",
            "*",
            "\\",
            "\/"
        ],
        "forbidden_filename_extensions": [
            " ",
            ".",
            ".filepart",
            ".part"
        ],
        "DOMAIN": "MYCLOUD.URL"
    }
}

Apps

Enabled:
  - admin_audit: 1.20.0
  - bruteforcesettings: 3.0.0
  - cfg_share_links: 6.1.1
  - cloud_federation_api: 1.13.0
  - comments: 1.20.1
  - contactsinteraction: 1.11.0
  - dashboard: 7.10.0
  - dav: 1.31.1
  - deck: 1.14.2
  - federatedfilesharing: 1.20.0
  - files: 2.2.0
  - files_accesscontrol: 1.20.1
  - files_downloadlimit: 3.0.0
  - files_pdfviewer: 3.0.0
  - files_reminders: 1.3.0
  - files_sharing: 1.22.0
  - files_trashbin: 1.20.1
  - files_versions: 1.23.0
  - files_zip: 2.1.0
  - firstrunwizard: 3.0.0
  - forms: 4.3.4
  - groupfolders: 18.0.6
  - impersonate: 1.17.0
  - larpingapp: 0.1.11
  - login_notes: 1.6.1
  - logreader: 3.0.0
  - lookup_server_connector: 1.18.0
  - mail: 4.0.7
  - memories: 7.4.1
  - nextcloud-aio: 0.7.0
  - notes: 4.11.0
  - notifications: 3.0.0
  - notify_push: 0.7.0
  - oauth2: 1.18.1
  - ownershiptransfer: 1.0.1
  - password_policy: 2.0.0
  - photos: 3.0.2
  - privacy: 2.0.0
  - provisioning_api: 1.20.0
  - recommendations: 3.0.0
  - related_resources: 1.5.0
  - richdocuments: 8.5.2
  - serverinfo: 2.0.0
  - settings: 1.13.0
  - sharebymail: 1.20.0
  - support: 2.0.0
  - systemtags: 1.20.0
  - tables: 0.8.1
  - tasks: 0.16.1
  - text: 4.1.0
  - theming: 2.5.0
  - theming_customcss: 1.17.0
  - twofactor_backupcodes: 1.19.0
  - twofactor_totp: 12.0.0-dev
  - viewer: 3.0.0
  - webhook_listeners: 1.1.0-dev
  - welcome: 1.2.0
  - workflowengine: 2.12.0
Disabled:
  - activity: 3.0.0 (installed 2.19.0)
  - app_api: 4.0.0 (installed 4.0.0)
  - circles: 30.0.0 (installed 29.0.0-dev)
  - encryption: 2.18.0
  - federation: 1.20.0 (installed 1.17.0)
  - files_archive: 1.2.3 (installed 1.2.3)
  - files_external: 1.22.0
  - nextcloud_announcements: 2.0.0 (installed 1.16.0)
  - polls: 7.2.5 (installed 7.2.5)
  - survey_client: 2.0.0 (installed 1.15.0)
  - suspicious_login: 8.0.0
  - twofactor_nextcloud_notification: 4.0.0
  - user_ldap: 1.21.0
  - user_status: 1.10.0 (installed 1.7.0)
  - weather_status: 1.10.0 (installed 1.7.0)

Thanks in advance for your help!

I would recommend you open a separate discussion for each problem you hit.

Let’s start with Collabora as it could slow down the system in case there are issues - back in time there was a concurrent documents/connections limit but AFAIK it was lifted long time ago. As you still see it seems you have an ancient version (but I’m wondering how it could happen with AiO - do you use separate CODE installation?).

You should review the resource usage to see if there is a shortage and where it comes from e.g. check cpu usage with docker stats (work on *real Docker maybe you need to check how it works on Win) and OS tools e.g. top, free etc

I have been suspecting both occurences to be symptoms of the same
issue and thus posted them as one, especially as both problems occured among the same time.
Maybe Collabora for some reason locks the files as it detects too many connections and thus the preview generator can not generate previews properly. Or maybe the preview generator is bugged and opens too many instances in short time that are considered as too many connections.

Collabora is the standard installation that comes with the AIO; version 24.04.9.2
I am using the preconficured Nextcloud Office app version 8.5.3 (there just now came an update from 8.5.2; the issue remains)

In the system info app, CPU load raises up to 1.8. Memory usage is constantly around 2.3/8 GB. In the windows task manager, there is a raise of load in all cores for some seconds when loading the first file after a while but none or only sole spikes when loading other files, regardless of how long it takes to open the file. In the container’s stats there are spikes of up to 100% load when opening a file but the load sinks to almost 0 even before the file is fully loaded. As the stats update only every few seconds I can not say much more though.

I was away for the weekend and before that I deactivated preview generation for office documents in the config.php, which seems to be ignored by collabora. Most files get previews, some don’t. There does not seem to be a pattern regarding file type or size.

Opening files works without the connection count issue now (yet) but the loading times are still by far too long. Files without previews seem to take much longer to load than the others. I tried multiple files and only once the file did not load at all on the first attempt and the first error message appeared.

I can’t say how it is with with more concurrent access at least “normal” Docker installation has no problems with preview generation - it happens immediately.

The only log line you provided shows following problem

{“reqId”:“████████████████████”,“level”:3,“time”:“2024-12-03T20:18:15+00:00”,“remoteAddr”:“127.0.0.1”,“user”:“admin”,“app”:“richdocuments”,“method”:“GET”,“url”:“/core/preview?fileId=34114&x=250&y=250”,“message”:“Failed to convert preview: cURL error 28: Operation timed out after 5002 milliseconds with 0 bytes received (see libcurl - Error Codes) for https://MYCLOUD.URL/cool/convert-to/png”,“userAgent”:“Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:133.0) Gecko/20100101 Firefox/133.0”,“version”:“30.0.2.2”,“exception”:{“Exception”:“GuzzleHttp\Exception\ConnectException”,“Message”:“cURL error 28: Operation timed out after 5002 milliseconds with 0 bytes received (see libcurl - Error Codes) for https://MYCLOUD.URL/cool/convert-to/png”,

it looks like Nextcloud connects to IP address 127.0.0.1 when it tries to generate an office file preview. As CODE is a different container it can’t be localhost. Please check if you can run curl https://mycloud.tld/cool/convert-to -v from AiO Apache container. for me CODE responds with 400 bad request but this way you know the system is reachable and responding. Definitely the issue could result in a significant slowdown and many connections to CODE if you browse a folder where many office documents are missing previews.

That is odd, I configured everything according to the manual and never changed any preconfigured settings like IP configuration.
What should the IP be set to and how do I change it?

Or may de- and reinstalling Collabora via the AIO setup help?

The Apache container responds “curl: not found” upon that query.

The connection count issue has returned. I don’t know if it’s related but I asked the other person if they can access the files again in the meantime but they could only open two of multiple more files.

I opened and then closed a file (this time without connection number issue) and the collabora container added these to the log; maybe it helps:

2024-12-09 17:45:51 frk-00011-00011 2024-12-09 17:45:51.901696 +0100 [ forkit ] WRN  The systemplate directory [/opt/cool/systemplate] is read-only, and at least [/opt/cool/systemplate//etc/hosts] is out-of-date. Will have to clone dynamic elements of systemplate to the jails. To restore optimal performance, make sure the files in [/opt/cool/systemplate/etc] are up-to-date.| common/JailUtil.cpp:585
2024-12-09 17:45:52 kit-91417-91417 2024-12-09 17:45:52.023572 +0100 [ kit_spare_0ef ] ERR  Failed to stat or chown 65534:65534 /opt/cool/child-roots/[...]//linkable/opt/cool/systemplate/etc/ld.so.conf: Invalid argument missing cap_chown?, disabling linkable| kit/Kit.cpp:381
2024-12-09 17:45:52 kit-91417-91417 2024-12-09 17:45:52.023758 +0100 [ kit_spare_0ef ] ERR  link("/opt/cool/systemplate/etc/ld.so.conf", "/opt/cool/child-roots/[...]/[...]/etc/ld.so.conf") failed: Invalid argument. Very slow copying path triggered.| kit/Kit.cpp:397
2024-12-09 17:45:57 kit-91417-91417 2024-12-09 17:45:57.946573 +0100 [ kit_spare_0ef ] WRN  Linking/copying files from /opt/collaboraoffice to /opt/cool/child-roots/[...]/[...]/lo/ is taking too much time. Enabling verbose link/copy logging.| kit/Kit.cpp:427
2024-12-09 17:46:14 wsd-00007-00010 2024-12-09 17:46:14.067269 +0100 [ prisoner_poll ] WRN  ForKit not responsive for 22178ms forking 1 children. Resetting.| wsd/COOLWSD.cpp:526
2024-12-09 17:46:14 frk-00011-00011 2024-12-09 17:46:14.067731 +0100 [ forkit ] WRN  The systemplate directory [/opt/cool/systemplate] is read-only, and at least [/opt/cool/systemplate//etc/hosts] is out-of-date. Will have to clone dynamic elements of systemplate to the jails. To restore optimal performance, make sure the files in [/opt/cool/systemplate/etc] are up-to-date.| common/JailUtil.cpp:585
2024-12-09 17:46:14 kit-91452-91452 2024-12-09 17:46:14.074526 +0100 [ kit_spare_0f0 ] ERR  Failed to stat or chown 65534:65534 /opt/cool/child-roots/[...]//linkable/opt/cool/systemplate/etc/ld.so.conf: Invalid argument missing cap_chown?, disabling linkable| kit/Kit.cpp:381
2024-12-09 17:46:14 kit-91452-91452 2024-12-09 17:46:14.074624 +0100 [ kit_spare_0f0 ] ERR  link("/opt/cool/systemplate/etc/ld.so.conf", "/opt/cool/child-roots/[...]/[...]/etc/ld.so.conf") failed: Invalid argument. Very slow copying path triggered.| kit/Kit.cpp:397
2024-12-09 17:46:27 notcoolmount: unmount failed to detach [/opt/cool/child-roots/[...]/[...]/lo]: Operation not permitted.
2024-12-09 17:46:27 notcoolmount: forced unmount of [/opt/cool/child-roots/[...]/[...]/lo] failed: Operation not permitted.

Opening and closing another file without preview, this was added to the log:

2024-12-09 17:49:24 wsd-00007-00033 2024-12-09 17:49:24.229614 +0100 [ websrv_poll ] ERR  #123: Socket write returned -1 (EPIPE: Broken pipe)| net/Socket.hpp:1608
2024-12-09 17:49:24 wsd-00007-00033 2024-12-09 17:49:24.230052 +0100 [ websrv_poll ] ERR  #104: Socket write returned -1 (EPIPE: Broken pipe)| net/Socket.hpp:1608
2024-12-09 17:49:24 wsd-00007-00033 2024-12-09 17:49:24.230310 +0100 [ websrv_poll ] ERR  #123: Socket write returned -1 (EPIPE: Broken pipe)| net/Socket.hpp:1608
2024-12-09 17:49:24 wsd-00007-00033 2024-12-09 17:49:24.230405 +0100 [ websrv_poll ] ERR  #104: Socket write returned -1 (EPIPE: Broken pipe)| net/Socket.hpp:1608
2024-12-09 17:50:22 notcoolmount: unmount failed to detach [/opt/cool/child-roots/[...]/[...]/lo]: Operation not permitted.
2024-12-09 17:50:22 notcoolmount: forced unmount of [/opt/cool/child-roots/[...]/[...]/lo] failed: Operation not permitted.

Opening and closing another file (ODS with preview) resulted in this log:

2024-12-09 17:51:13 frk-00011-00011 2024-12-09 17:51:13.178550 +0100 [ forkit ] WRN  The systemplate directory [/opt/cool/systemplate] is read-only, and at least [/opt/cool/systemplate//etc/hosts] is out-of-date. Will have to clone dynamic elements of systemplate to the jails. To restore optimal performance, make sure the files in [/opt/cool/systemplate/etc] are up-to-date.| common/JailUtil.cpp:585
2024-12-09 17:51:13 kit-91533-91533 2024-12-09 17:51:13.242057 +0100 [ kit_spare_0f1 ] ERR  Failed to stat or chown 65534:65534 /opt/cool/child-roots/[...]//linkable/opt/cool/systemplate/etc/ld.so.conf: Invalid argument missing cap_chown?, disabling linkable| kit/Kit.cpp:381
2024-12-09 17:51:13 kit-91533-91533 2024-12-09 17:51:13.242196 +0100 [ kit_spare_0f1 ] ERR  link("/opt/cool/systemplate/etc/ld.so.conf", "/opt/cool/child-roots/[...]/[...]/etc/ld.so.conf") failed: Invalid argument. Very slow copying path triggered.| kit/Kit.cpp:397
2024-12-09 17:51:15 wsd-00007-00033 2024-12-09 17:51:15.156716 +0100 [ websrv_poll ] ERR  #121: Socket write returned -1 (EPIPE: Broken pipe)| net/Socket.hpp:1608
[Repeats 63 times]
2024-12-09 17:51:18 kit-91533-91533 2024-12-09 17:51:18.250330 +0100 [ kit_spare_0f1 ] WRN  Linking/copying files from /opt/collaboraoffice to /opt/cool/child-roots/[...]/[...]/lo/ is taking too much time. Enabling verbose link/copy logging.| kit/Kit.cpp:427
2024-12-09 17:51:41 notcoolmount: unmount failed to detach [/opt/cool/child-roots/[...]/[...]/lo]: Operation not permitted.
2024-12-09 17:51:41 notcoolmount: forced unmount of [/opt/cool/child-roots/[...]/[...]/lo] failed: Operation not permitted.

Are there more logs I could gather that might help?

I’m sorry I can’t help you very deep with aio I never adopted to it a use straight Docker which is easier to understand and troubleshoot IMO.
look at How to debug problems with Collabora and/or Talk ¡ nextcloud/all-in-one ¡ Discussion #1358 ¡ GitHub this will help you get started with troubleshooting.

I thank you for your help in any case.

The IPs haven’t been the issue as well, so I am going to reinstall the Collabora container.

I deactivated Collabora in the AIO setup, deleted the container and image, started Nextcloud without it, stopped NC, reactivated Collabora in the AIO setup to have it downloaded anew, started NC.

The error persists, I am still getting the same error upon attempts to create previews.

Btw. the WOPI allow list contains the following:
[server IPv4],127.0.0.1/8,192.168.0.0/16,172.16.0.0/12,10.0.0.0/8,fd00::/8,::1,[server IPv6]

WOPI allow list works the other way round - it restricts access of Collabora server(s) to Nextcloud. (one of) your problem is that NC never reaches CODE when it access /cool/convert-to endpoint. this is as well the reason why recreating CODE container doesn’t help. this might have to do with reverse proxy config or something else… but definitely a smoking gun where I would dig deeper.

I see. Is there a way to configure these things in the Collabora container? I have yet not found much about how to configure Collabora at all.

I do not use a reverse proxy, at least not to my knowledge, unless AIO configures one automatically. I have a dedicated server, hosted on a server farm in the same country, with a static IP, and I am directing the URL from an adress provider in the same country using the recommended standard method that’s name I cannot recall. No other service in between.
Is there a way to check the full route in the browser in case my provider has added a general reverse proxy for all servers? I don’t see any other adresses in the network analysis or the console in the browser’s dev tools though.

Also Collabora does work, at least for me as admin, it is just super slowly loading some files, does not create previews properly and seems to lock out other users. The connection count issue has not happened again yet, but since the last attempt the other user didn’t try again.

Hi, we have a fix for collabora available with v10.1.0 Beta. Release v10.1.0 Beta ¡ nextcloud/all-in-one ¡ GitHub

See https://github.com/nextcloud/all-in-one?tab=readme-ov-file#how-to-switch-the-channel

Thank you @szaimen!
However, the error persists, I am still getting new cURL error 28 entries in the log, not all previews get generated and opening office files takes unusually long, especially those without previews.
This evening CET the other user wants to check if they can access the files.

I have installed the beta; AIO version is 10.1.0 in the beta channel.

I don’t know if it may be related but it may, as it seems related to connectivity as well: I also have that issue that the app discovery page does not load external images and videos that was reported by other users.

Edit: The other person tried and could access multiple files though two of those they tried were inaccessible, one with and one without preview. I did not get too-many-connection errors yet.