Yunohost -- Webserver does not serve `.mjs` files

The Basics

  • Nextcloud Server version (e.g., 29.x.x):
    • 32.0.4
  • Operating system and version (e.g., Ubuntu 24.04):
    • Yunohost / Debian
  • Web server and version (e.g, Apache 2.4.25):
    • nginx?
  • Reverse proxy and version _(e.g. nginx 1.27.2)
    • nginx
  • PHP version (e.g, 8.3):
    • 8.3.29
  • Is this the first time you’ve seen this error? (Yes / No):
    • Yes
  • When did this problem seem to first start?
    • I reinstalled Nextcloud
  • Installation method (e.g. AlO, NCP, Bare Metal/Archive, etc.)
    • Yunohost
  • Are you using CloudfIare, mod_security, or similar? (Yes / No)
    • Not that I know of

Summary of the issue you are facing:

JavaScript modules support

Your webserver does not serve .mjs` files using the JavaScript MIME type. This will break some apps by preventing browsers from executing the JavaScript files. You should configure your webserver to serve `.mjs` files with either the `text/javascript` or `application/javascript` MIME type.

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

Not sure if it’s replicable.

Log entries

Nextcloud

{"reqId":"0hoMZEGBtHuduAUTopHq","level":2,"time":"2026-01-16T08:15:03+00:00","remoteAddr":"","user":"--","app":"cron","method":"","url":"--","scriptName":"/var/www/nextcloud/cron.php","message":"failed to create instance of background job: OCA\\AppAPI\\BackgroundJob\\ExAppInitStatusCheckJob","userAgent":"--","version":"32.0.4.1","occ_command":["/var/www/nextcloud/cron.php"],"exception":{"Exception":"OC\\AppFramework\\Utility\\QueryNotFoundException","Message":"Could not resolve OCA\\AppAPI\\BackgroundJob\\ExAppInitStatusCheckJob! Class \"OCA\\AppAPI\\BackgroundJob\\ExAppInitStatusCheckJob\" does not exist","Code":0,"Trace":[{"file":"/var/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php","line":140,"function":"resolve","class":"OC\\AppFramework\\Utility\\SimpleContainer","type":"->"},{"file":"/var/www/nextcloud/lib/private/ServerContainer.php","line":154,"function":"query","class":"OC\\AppFramework\\Utility\\SimpleContainer","type":"->"},{"file":"/var/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php","line":45,"function":"query","class":"OC\\ServerContainer","type":"->"},{"file":"/var/www/nextcloud/lib/public/Server.php","line":37,"function":"get","class":"OC\\AppFramework\\Utility\\SimpleContainer","type":"->"},{"file":"/var/www/nextcloud/lib/private/BackgroundJob/JobList.php","line":322,"function":"get","class":"OCP\\Server","type":"::"},{"file":"/var/www/nextcloud/lib/private/BackgroundJob/JobList.php","line":201,"function":"buildJob","class":"OC\\BackgroundJob\\JobList","type":"->"},{"file":"/var/www/nextcloud/cron.php","line":157,"function":"getNext","class":"OC\\BackgroundJob\\JobList","type":"->"}],"File":"/var/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php","Line":129,"message":"failed to create instance of background job: OCA\\AppAPI\\BackgroundJob\\ExAppInitStatusCheckJob","exception":{},"CustomMessage":"failed to create instance of background job: OCA\\AppAPI\\BackgroundJob\\ExAppInitStatusCheckJob"}}

Web Browser

N/A

Web server / Reverse Proxy

The output of your Apache/nginx/system log in /var/log/mydomain.tld-error.log:


2026/01/16 06:2026/01/16 06:10:52 [error] 220373#220373: *26610 open() "/usr/share/nginx/html/.well-known/caldav" failed (2: No such file or directory), client: 127.0.0.1, server: mydomain.tld, request: "GET /.well-known/caldav HTTP/2.0", host: "mydomain.tld"
2026/01/16 06:10:52 [error] 220374#220374: *26611 open() "/usr/share/nginx/html/.well-known/carddav" failed (2: No such file or directory), client: 127.0.0.1, server: mydomain.tld, request: "GET /.well-known/carddav HTTP/2.0", host: "mydomain.tld"

Configuration

Nextcloud

{
    "system": {
        "passwordsalt": "***REMOVED SENSITIVE VALUE***",
        "secret": "***REMOVED SENSITIVE VALUE***",
        "trusted_domains": [
            "localhost",
            "mydomain.tld"
        ],
        "datadirectory": "***REMOVED SENSITIVE VALUE***",
        "dbtype": "mysql",
        "version": "32.0.4.1",
        "overwrite.cli.url": "https:\/\/mydomain.tld\/",
        "dbname": "***REMOVED SENSITIVE VALUE***",
        "dbhost": "***REMOVED SENSITIVE VALUE***",
        "dbport": "",
        "dbtableprefix": "oc_",
        "mysql.utf8mb4": true,
        "dbuser": "***REMOVED SENSITIVE VALUE***",
        "dbpassword": "***REMOVED SENSITIVE VALUE***",
        "installed": true,
        "instanceid": "***REMOVED SENSITIVE VALUE***",
        "logfile": "\/var\/log\/nextcloud\/nextcloud.log",
        "ldapProviderFactory": "OCA\\User_LDAP\\LDAPProviderFactory",
        "trashbin_retention_obligation": "auto, 30",
        "versions_retention_obligation": "auto, 30",
        "updatechecker": false,
        "memcache.local": "\\OC\\Memcache\\APCu",
        "integrity.check.disabled": true,
        "filelocking.enabled": true,
        "memcache.locking": "\\OC\\Memcache\\Redis",
        "redis": {
            "host": "***REMOVED SENSITIVE VALUE***",
            "port": "6379",
            "timeout": "0.0",
            "password": "***REMOVED SENSITIVE VALUE***"
        },
        "hashing_default_password": true,
        "localstorage.allowsymlinks": true,
        "simpleSignUpLink.shown": false,
        "default_phone_region": "",
        "maintenance_window_start": 1,
        "mail_smtpmode": "smtp",
        "mail_smtpport": "25",
        "mail_smtpauth": 1,
        "mail_smtpname": "***REMOVED SENSITIVE VALUE***",
        "mail_smtppassword": "***REMOVED SENSITIVE VALUE***",
        "mail_sendmailmode": "smtp",
        "mail_from_address": "***REMOVED SENSITIVE VALUE***",
        "mail_domain": "***REMOVED SENSITIVE VALUE***",
        "mail_smtphost": "***REMOVED SENSITIVE VALUE***",
        "mail_smtpstreamoptions": {
            "ssl": {
                "allow_self_signed": true,
                "verify_peer": false,
                "verify_peer_name": false
            }
        },
        "trusted_proxies": "***REMOVED SENSITIVE VALUE***",
        "logout_url": "https:\/\/mydomain.tld\/yunohost\/sso\/?action=logout&r=aHR0cHM6Ly9zbHVpbWVycy5uZXQv",
        "maintenance": false,
        "app_install_overwrite": [],
        "loglevel": 2
    }
}

Apps

Enabled:
  - activity: 5.0.0-dev.0
  - bruteforcesettings: 5.0.0-dev.0
  - calendar: 6.1.4
  - circles: 32.0.0
  - cloud_federation_api: 1.16.0
  - comments: 1.22.0
  - contacts: 8.2.1
  - contactsinteraction: 1.13.1
  - 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-dev.0
  - files_external: 1.24.0
  - files_pdfviewer: 5.0.0-dev.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-dev.0
  - integration_deepl: 2.1.0
  - logreader: 5.0.0-dev.0
  - lookup_server_connector: 1.20.0
  - mail: 5.6.7
  - music: 2.5.1
  - nextcloud_announcements: 4.0.0-dev.0
  - notes: 4.12.4
  - notifications: 5.0.0-dev.0
  - oauth2: 1.20.0
  - password_policy: 4.0.0-dev.0
  - photos: 5.0.0-dev.1
  - privacy: 4.0.0-dev.0
  - profile: 1.1.0
  - provisioning_api: 1.22.0
  - recommendations: 5.0.0-dev.0
  - related_resources: 3.0.0-dev.0
  - serverinfo: 4.0.0-dev.0
  - settings: 1.15.1
  - sharebymail: 1.22.0
  - spreed: 22.0.8
  - support: 4.0.0-dev.0
  - survey_client: 4.0.0-dev.0
  - systemtags: 1.22.0
  - tables: 1.0.2
  - text: 6.0.1
  - theming: 2.7.0
  - twofactor_backupcodes: 1.21.0
  - user_ldap: 1.23.0
  - user_status: 1.12.0
  - user_usage_report: 3.0.0
  - viewer: 5.0.0-dev.0
  - weather_status: 1.12.0
  - webhook_listeners: 1.3.0
  - workflowengine: 2.14.0
Disabled:
  - admin_audit: 1.22.0
  - app_api: 32.0.0 (installed 32.0.0)
  - encryption: 2.20.0
  - suspicious_login: 10.0.0-dev.0
  - twofactor_nextcloud_notification: 6.0.0-dev.0
  - twofactor_totp: 14.0.0
  - updatenotification: 1.22.0 (installed 1.21.0)

Other

$ cat /etc/nginx/mime.types | grep mjs
text/javascript                       mjs;
$ cat nextcloud.conf | grep mjs
# Set .mjs MIME types
    text/javascript mjs;
  location ~ .(?:css|js|mjs|svg|gif|ico|jpg|png|webp|wasm|tflite|map|ogg|flac)$ {

I found the question now.. not sure still current.

Please review NGINX configuration — Nextcloud latest Administration Manual latest documentation for the official installation guides.

also check the file as “javascript” is not only .mjs it is also .js and both are required

look at other topics tagged mjs for ideas