Recognize app configuration reports node.js executable problem

The Basics

  • Nextcloud Server version (e.g., 29.x.x):
    • 32.0.8
  • Operating system and version (e.g., Ubuntu 24.04):
    • Linux raspberrypi 6.12.62+rpt-rpi-2712 #1 SMP PREEMPT Debian 1:6.12.62-1+rpt1~bookworm (2026-01-19) aarch64 GNU/Linux
  • Web server and version (e.g, Apache 2.4.25):
    • aio?
  • Reverse proxy and version _(e.g. nginx 1.27.2)
    • aio?
  • PHP version (e.g, 8.3):
    • aio?
  • Is this the first time you’ve seen this error? (Yes / No):
    • Yes
  • When did this problem seem to first start?
    • Upon installation of the Recognize app
  • Installation method (e.g. AlO, NCP, Bare Metal/Archive, etc.)
    • AIO
  • Are you using CloudfIare, mod_security, or similar? (Yes / No)
    • no

Summary of the issue you are facing:

Configuration of the Recognize app complains that “Could not execute the Node.js binary. You may need to set the path to a working binary manually.”

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

Since I found other topics in the forum where people reported this same issue, but without a “reproducible” resolution, I tried to figure out what is wrong with the node executable in the container. I found that it seems to rely on a shared library not present on my system:

 $ sudo docker exec --user www-data -it nextcloud-aio-nextcloud bash
nextcloud-aio-nextcloud:/var/www/html$ pwd
/var/www/html
nextcloud-aio-nextcloud:/var/www/html$ df
Filesystem     1K-blocks      Used Available Use% Mounted on
overlay        245576260 118517824 114565556  51% /
tmpfs              65536         0     65536   0% /dev
shm                65536         0     65536   0% /dev/shm
/dev/nvme0n1p2 245576260 118517824 114565556  51% /mnt/ncdata
/dev/sdb1      492266400  15159304 452028064   4% /mnt/ncdata/rob/files/Photos
tmpfs            4126240         0   4126240   0% /proc/asound
tmpfs            4126240         0   4126240   0% /sys/firmware
nextcloud-aio-nextcloud:/var/www/html$ find / -name node
find: /run/sudo: Permission denied
find: /root: Permission denied
find: /etc/sudoers.d: Permission denied
/sys/devices/system/node
/sys/bus/node
/usr/bin/node
find: /var/lib/sudo: Permission denied
find: /var/lib/samba/private: Permission denied
find: /var/lib/samba/bind-dns: Permission denied
/var/www/html/custom_apps/recognize/bin/node
^C
nextcloud-aio-nextcloud:/var/www/html$ ls -l /var/www/html/custom_apps/recognize/bin/node
-rwxr-xr-x 1 www-data www-data 95453208 Apr  6 13:24 /var/www/html/custom_apps/recognize/bin/node
nextcloud-aio-nextcloud:/var/www/html$ file !$
file /var/www/html/custom_apps/recognize/bin/node
bash: file: command not found
nextcloud-aio-nextcloud:/var/www/html$ /var/www/html/custom_apps/recognize/bin/node -v
bash: /var/www/html/custom_apps/recognize/bin/node: cannot execute: required file not found
nextcloud-aio-nextcloud:/var/www/html$ ldd /var/www/html/custom_apps/recognize/bin/node
	/lib/ld-linux-aarch64.so.1 (0x7ffef5fc0000)
	libdl.so.2 => /lib/ld-linux-aarch64.so.1 (0x7ffef5fc0000)
	libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x7ffef5cf8000)
	libm.so.6 => /lib/ld-linux-aarch64.so.1 (0x7ffef5fc0000)
	libgcc_s.so.1 => /usr/lib/libgcc_s.so.1 (0x7ffef5cc4000)
	libpthread.so.0 => /lib/ld-linux-aarch64.so.1 (0x7ffef5fc0000)
	libc.so.6 => /lib/ld-linux-aarch64.so.1 (0x7ffef5fc0000)
Error loading shared library ld-linux-aarch64.so.1: No such file or directory (needed by /var/www/html/custom_apps/recognize/bin/node)
Error relocating /var/www/html/custom_apps/recognize/bin/node: fcntl64: symbol not found
Error relocating /var/www/html/custom_apps/recognize/bin/node: __register_atfork: symbol not found
Error relocating /var/www/html/custom_apps/recognize/bin/node: __getauxval: symbol not found
Error relocating /var/www/html/custom_apps/recognize/bin/node: makecontext: symbol not found
Error relocating /var/www/html/custom_apps/recognize/bin/node: backtrace: symbol not found
Error relocating /var/www/html/custom_apps/recognize/bin/node: getcontext: symbol not found
Error relocating /var/www/html/custom_apps/recognize/bin/node: setcontext: symbol not found
Error relocating /var/www/html/custom_apps/recognize/bin/node: backtrace_symbols: symbol not found
Error relocating /var/www/html/custom_apps/recognize/bin/node: gnu_get_libc_version: symbol not found
Error relocating /var/www/html/custom_apps/recognize/bin/node: __libc_stack_end: symbol not found
nextcloud-aio-nextcloud:/var/www/html$ ls -l /lib/ld-*
-rwxr-xr-x 1 root root 723480 Oct 13 20:32 /lib/ld-musl-aarch64.so.1
nextcloud-aio-nextcloud:/var/www/html$ 
exit

Log entries

Nextcloud

Please provide the log entries from your Nextcloud log that are generated during the time of problem (via the Copy raw option from Administration settings->Logging screen or from your nextcloud.log located in your data directory). Feel free to use a pastebin/gist service if necessary.

could not identify any relevant items through manual inspection of the log.

Web Browser

If the problem is related to the Web interface, open your browser inspector Console and Network tabs while refreshing (reloading) and reproducing the problem. Provide any relevant output/errors here that appear.

n.a.

Web server / Reverse Proxy

The output of your Apache/nginx/system log in /var/log/____:

not relevant?

Configuration

Nextcloud

The output of occ config:list system or similar is best, but, if not possible, the contents of your config.php file from /path/to/nextcloud is fine (make sure to remove any identifiable information!):

{
    "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": 6379
        },
        "overwritehost": "***REMOVED SENSITIVE VALUE***",
        "overwriteprotocol": "https",
        "passwordsalt": "***REMOVED SENSITIVE VALUE***",
        "secret": "***REMOVED SENSITIVE VALUE***",
        "trusted_domains": [
            "localhost",
            "***REMOVED SENSITIVE VALUE***"
        ],
        "datadirectory": "***REMOVED SENSITIVE VALUE***",
        "dbtype": "pgsql",
        "version": "32.0.8.2",
        "overwrite.cli.url": "https:\/\/nextcloud.hooft.net\/",
        "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": 2,
        "log_type": "file",
        "logfile": "\/var\/www\/html\/data\/nextcloud.log",
        "log_rotate_size": 10485760,
        "log.condition": {
            "apps": [
                "admin_audit"
            ]
        },
        "preview_max_x": 2048,
        "preview_max_y": 2048,
        "jpeg_quality": 60,
        "enabledPreviewProviders": [
            "OC\\Preview\\MarkDown",
            "OC\\Preview\\MP3",
            "OC\\Preview\\TXT",
            "OC\\Preview\\OpenDocument",
            "OC\\Preview\\Movie",
            "OC\\Preview\\Krita",
            "OC\\Preview\\ImaginaryPDF",
            "OC\\Preview\\ImaginaryPDF",
            "OC\\Preview\\HEIC",
            "OC\\Preview\\Image",
            "OC\\Preview\\TIFF"
        ],
        "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",
        "maintenance_window_start": 100,
        "allow_local_remote_servers": true,
        "davstorage.request_timeout": 3600,
        "documentation_url.server_logs": "https:\/\/github.com\/nextcloud\/all-in-one\/discussions\/5425",
        "htaccess.RewriteBase": "\/",
        "dbpersistent": false,
        "auth.bruteforce.protection.enabled": true,
        "ratelimit.protection.enabled": true,
        "files_external_allow_create_new_local": false,
        "trusted_proxies": "***REMOVED SENSITIVE VALUE***",
        "preview_imaginary_url": "***REMOVED SENSITIVE VALUE***",
        "preview_imaginary_key": "***REMOVED SENSITIVE VALUE***",
        "mail_smtpauth": 1,
        "mail_sendmailmode": "smtp",
        "mail_smtpsecure": "ssl",
        "mail_from_address": "***REMOVED SENSITIVE VALUE***",
        "mail_domain": "***REMOVED SENSITIVE VALUE***",
        "mail_smtphost": "***REMOVED SENSITIVE VALUE***",
        "mail_smtpport": "465",
        "mail_smtpname": "***REMOVED SENSITIVE VALUE***",
        "mail_smtppassword": "***REMOVED SENSITIVE VALUE***",
        "default_phone_region": "NL",
        "updatechecker": false,
        "memories.db.triggers.fcu": true,
        "memories.exiftool": "\/var\/www\/html\/custom_apps\/memories\/bin-ext\/exiftool-aarch64-musl",
        "memories.vod.path": "\/var\/www\/html\/custom_apps\/memories\/bin-ext\/go-vod-aarch64",
        "memories.vod.ffmpeg": "\/usr\/bin\/ffmpeg",
        "memories.vod.ffprobe": "\/usr\/bin\/ffprobe",
        "DOMAIN": "***REMOVED SENSITIVE VALUE***",
        "AIO_VERSION": "v12.9.2"
    }
}

Apps

The output of occ app:list (if possible).

Enabled:
  - activity: 5.0.0
  - admin_audit: 1.22.0
  - assistant: 2.13.0
  - bruteforcesettings: 5.0.0
  - calendar: 6.2.2
  - circles: 32.0.0
  - cloud_federation_api: 1.16.0
  - comments: 1.22.0
  - contacts: 8.3.7
  - contactsinteraction: 1.13.1
  - cookbook: 0.11.6
  - dashboard: 7.12.0
  - dav: 1.34.2
  - deck: 1.16.3
  - federatedfilesharing: 1.22.0
  - federation: 1.22.0
  - files: 2.4.0
  - files_downloadlimit: 5.0.0
  - files_pdfviewer: 5.0.0
  - files_reminders: 1.5.0
  - files_sharing: 1.24.1
  - files_trashbin: 1.22.0
  - files_versions: 1.25.0
  - firstrunwizard: 5.0.0
  - integration_openai: 3.10.1
  - logreader: 5.0.0
  - lookup_server_connector: 1.20.0
  - mail: 5.7.7
  - memories: 7.8.2
  - news: 28.1.0
  - nextcloud-aio: 0.8.0
  - nextcloud_announcements: 4.0.0
  - notes: 4.13.1
  - notifications: 5.0.0
  - notify_push: 1.3.1
  - oauth2: 1.20.0
  - password_policy: 4.0.0
  - photos: 5.0.0
  - previewgenerator: 5.13.0
  - privacy: 4.0.0
  - profile: 1.1.0
  - provisioning_api: 1.22.0
  - recognize: 10.0.7
  - recommendations: 5.0.0
  - related_resources: 3.0.0
  - richdocuments: 9.0.5
  - richdocumentscode_arm64: 25.4.904
  - serverinfo: 4.0.0
  - settings: 1.15.1
  - sharebymail: 1.22.0
  - spreed: 22.0.11
  - support: 4.0.0
  - survey_client: 4.0.0
  - systemtags: 1.22.0
  - tables: 1.0.5
  - tasks: 0.17.1
  - text: 6.0.1
  - theming: 2.7.0
  - twofactor_backupcodes: 1.21.0
  - twofactor_totp: 14.0.0
  - updatenotification: 1.22.0
  - user_status: 1.12.0
  - viewer: 5.0.0
  - weather_status: 1.12.0
  - webhook_listeners: 1.3.0
  - whiteboard: 1.5.7
  - workflowengine: 2.14.0
Disabled:
  - app_api: 32.0.0 (installed 4.0.5)
  - encryption: 2.20.0
  - files_external: 1.24.1
  - suspicious_login: 10.0.0
  - twofactor_nextcloud_notification: 6.0.0
  - user_ldap: 1.23.0

See Recognize: Requirements

Thank you, that link is helpful. I will have to explore how to do this.

The configuration has the “WASM” mode switch, but even if I leave it off, it tells me

WASM mode was activated automatically, because your machine does not support native TensorFlow operation:
Your server does not support AVX instructions
Your server does not have an x86 64-bit CPU
Your server uses musl libc

Switching WASP on manually does not help Node.js yet. I will need to look where to get a working copy of the executable, and how to install it.

Your situation is a bit unfortunate as you are using a musl linux (AIO) on arm64. For this combination recognize currently cannot download a node binary automatically. You can however, install node.js using the alpine package manager and set the path to it in the recognize admin settings. WASM mode will have to be kept on, though, as per the requirements section in the README. Let me know if you have any more questions :slight_smile:

Thanks, I had nearly given up on trying, since I’m not an “alpine” user and not fluent in docker either. But it looks like I managed to get rid of the warning message in the configuration using:

raspi% sudo docker exec --user root -it nextcloud-aio-nextcloud bash
nextcloud# apk add nodejs
OK: 329.3 MiB in 265 packages
nextcloud# ls -l /usr/bin/node
-rwxr-xr-x 1 root root 50087296 Mar 25 11:38 /usr/bin/node
nextcloud# exit
raspi%

And then put “/usr/bin/node” in the recognize configuration.

Very curious to see whether that is sufficient.

It works.

As expected, it is slow, and it is taking significant memory to run. In fact: I had my system hang up on me twice, so I added more swap: edited /etc/dphys-swapfile commenting out the CONF_SWAPSIZE=200 and setting CONF_SWAPFACTOR=1 and CONF_MAXSWAP=8192 and then running dphys-swapfile setup ; dphys-swapfile swapon

Since I fixed the swap, the system is running reliably, and I can see (over the days) the number of files queued by Recognize go down.