FreeBSD - OnlyOffice - External Documentserver

I am running Nextcloud on FreeBSD 14.4 with the Documentserver running in an Virtual Machine (also FreeBSD 14.4). The ONLYOFFICE connector in the Nextcloud Admin Account seems to connect to the Documentserver but I still cannot open any documents in the user accounts. I have not yet figured out how the nextcloud communicates with the documentserver but the docserver firewall is open as the docserver is internal.Are there anyone that have got Onlyoffice to work with an external server in Nextcloud? There are no error logs to help me anywhere. Thanks for any help!Open ports on the docserver: #sockstat -4

USER COMMAND PID FD PROTO LOCAL ADDRESS FOREIGN ADDRESS
onlyoffice metrics 2014 16 tcp46 *:8126 :
onlyoffice metrics 2014 17 udp4 *:8125 :
onlyoffice docservice 2013 14 tcp46 *:8000 :
root sshd-sessi 961 7 tcp4 192.168.25.248:22 192.168.25.245:34835
root sshd 939 7 tcp4 *:22 :
stunnel stunnel 864 8 tcp4 *:443 :
nobody nginx 859 8 tcp4 *:80 :
root nginx 857 8 tcp4 *:80 *:

The Basics

  • Nextcloud Server version (e.g., 29.x.x):
    33.0.5
  • Operating system and version (e.g., Ubuntu 24.04):
    FreeBSD 14.4-p7 (nextcloud and docserver)
  • Web server and version (e.g, Apache 2.4.25):
    Apache 2.4.68 (nextcloud), Nginx 1.30.3 (docserver)
  • Reverse proxy and version _(e.g. nginx 1.27.2)
    Nginx1.30.3
  • PHP version (e.g, 8.3):
    8.3.31
  • Is this the first time you’ve seen this error? (Yes / No):
    I still haven't got it to work.
  • When did this problem seem to first start?
    I still haven't got it to work.
  • Installation method (e.g. AlO, NCP, Bare Metal/Archive, etc.)
    Various
  • Are you using CloudfIare, mod_security, or similar? (Yes / No)
    No

Summary of the issue you are facing:

I cannot open any documents in nextcloud even though the connection is present in the nextcloud admin / onlyoffice configuration.

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

  1. Installed ONLYOFFICE Documentsserver from FreeBSD ports (compile from source). Installed, activated and configured ONLYOFFICE App in the admin page.

  2. Try to open a document as a local user.

  3. Nextcloud shows a “simulated” document without any contents (Firefox) or an blue screen with text “ONLYOFFICE cannot be reached, contact system admin” (Edge).

Log entries

Nextcloud

No error logs shown in nextcloud admin logs

Web Browser

I have tried Firefox (prefered browser) and Edge.

Web server / Reverse Proxy

No error logs shown in nginx logs (docserver)

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": {
        "apps_paths": [
            {
                "path": "\/home\/httpd\/htdocs\/nextcloud\/apps",
                "url": "\/apps",
                "writable": true
            },
            {
                "path": "\/home\/httpd\/htdocs\/nextcloud\/apps-pkg",
                "url": "\/apps-pkg",
                "writable": false
            }
        ],
        "loglevel": 3,
        "logfile": "\/ram\/nextcloud\/log\/nextcloud.log",
        "cache_path": "\/ram\/nextcloud\/cache\/",
        "session_lifetime": 3600,
        "session_keepalive": false,
        "memcache.local": "\\OC\\Memcache\\APCu",
        "instanceid": "***REMOVED SENSITIVE VALUE***",
        "passwordsalt": "***REMOVED SENSITIVE VALUE***",
        "secret": "***REMOVED SENSITIVE VALUE***",
        "minimum.supported.desktop.version": "2.3.0",
        "trusted_domains": [
            "localhost:8386"
        ],
        "datadirectory": "***REMOVED SENSITIVE VALUE***",
        "dbtype": "mysql",
        "version": "33.0.5.1",
        "overwrite.cli.url": "https:\/\/timewind.se\/nextcloud",
        "overwritehost": "timewind.se",
        "overwriteprotocol": "https",
        "dbname": "***REMOVED SENSITIVE VALUE***",
        "dbhost": "***REMOVED SENSITIVE VALUE***",
        "dbport": "",
        "dbtableprefix": "oc_",
        "dbuser": "***REMOVED SENSITIVE VALUE***",
        "dbpassword": "***REMOVED SENSITIVE VALUE***",
        "filelocking.enabled": true,
        "memcache.locking": "\\OC\\Memcache\\Redis",
        "redis": {
            "host": "***REMOVED SENSITIVE VALUE***",
            "port": 0,
            "timeout": 0
        },
        "installed": true,
        "maintenance": false,
        "maintenance_window_start": 1,
        "default_phone_region": "SE",
        "theme": "",
        "lost_password_link": "disabled",
        "auth.webauthn.enabled": false,
        "ldapIgnoreNamingRules": false,
        "ldapProviderFactory": "OCA\\User_LDAP\\LDAPProviderFactory",
        "mail_from_address": "***REMOVED SENSITIVE VALUE***",
        "mail_smtpsecure": "",
        "mail_smtpmode": "sendmail",
        "mail_domain": "***REMOVED SENSITIVE VALUE***",
        "mail_smtphost": "***REMOVED SENSITIVE VALUE***",
        "mail_smtpport": "25",
        "mail_smtpauth": false,
        "mail_smtpname": "***REMOVED SENSITIVE VALUE***",
        "mail_smtppassword": "***REMOVED SENSITIVE VALUE***",
        "app.mail.verify-tls-peer": false,
        "app.mail.imap.timeout": "60",
        "app.mail.smtp.timeout": "10",
        "app_install_overwrite": [
            "groupfolders",
            "apporder",
            "impersonate",
            "passwords",
            "hsts",
            "bookmarks",
            "files_rightclick"
        ],
        "allowNightlyUpdates": [],
        "allow_local_remote_servers": true,
        "mysql.utf8mb4": true
    }
}

Apps

Enabled:

  • audioplayer: 3.9.0

  • bookmarks: 16.2.2

  • bruteforcesettings: 6.0.0

  • calendar: 6.5.0

  • cloud_federation_api: 1.17.0

  • comments: 1.23.0

  • contacts: 8.7.3

  • contactsinteraction: 1.14.1

  • dav: 1.36.0

  • federatedfilesharing: 1.23.0

  • files: 2.5.0

  • files_downloadlimit: 5.1.0

  • files_external: 1.25.1

  • files_pdfviewer: 6.0.0

  • files_sharing: 1.25.2

  • files_trashbin: 1.23.0

  • files_versions: 1.26.0

  • logreader: 6.0.0

  • lookup_server_connector: 1.21.0

  • mail: 5.10.7

  • oauth2: 1.21.0

  • onlyoffice: 10.1.2

  • password_policy: 5.0.0

  • passwords: 2026.6.10

  • privacy: 5.0.0

  • profile: 1.2.0

  • provisioning_api: 1.23.0

  • recommendations: 6.0.0

  • related_resources: 4.0.0

  • serverinfo: 5.0.0

  • settings: 1.16.0

  • systemtags: 1.23.0

  • text: 7.0.1

  • theming: 2.8.0

  • twofactor_backupcodes: 1.22.0

  • twofactor_totp: 15.0.0

  • user_ldap: 1.24.0

  • user_status: 1.13.0

  • viewer: 6.0.0

  • webhook_listeners: 1.5.0

  • workflowengine: 2.15.0

    Disabled:

  • activity: 6.0.0 (installed 2.8.2)

  • admin_audit: 1.23.0

  • app_api: 33.0.0 (installed 32.0.0)

  • circles: 33.0.0 (installed 22.2.0)

  • dashboard: 7.13.0 (installed 7.0.0)

  • encryption: 2.21.0

  • federation: 1.23.0 (installed 1.5.0)

  • files_reminders: 1.6.0 (installed 1.6.0)

  • firstrunwizard: 6.0.0 (installed 2.4.0)

  • nextcloud_announcements: 5.0.0 (installed 1.15.0)

  • notifications: 6.0.0 (installed 2.14.0)

  • photos: 6.0.0 (installed 1.0.0)

  • sharebymail: 1.23.0 (installed 1.5.0)

  • support: 5.0.0 (installed 1.0.0)

  • survey_client: 5.0.0 (installed 1.3.0)

  • suspicious_login: 11.0.0

  • twofactor_nextcloud_notification: 7.0.0

  • updatenotification: 1.23.0 (installed 1.6.0)

  • weather_status: 1.13.0 (installed 1.6.0)

Configured it how?

The error message you posted suggested the documentServerUrl is empty/missing.

In the support template there are details requested from.your web browser inspector. Those may have more clues too.

Also your server-side log level can be adjusted to get further detail. See the Nextcloud Admin Manual if necessary for details.

I have mostly solved the problem with an external doc-server. I will try to explain how.

  1. The docserver need to be accessible to the client even if on the internet so the docserver must have a proper dns hostname and certificate. I set this up on the reverse proxy as my docserver is internal.

  2. In the nextcloud onlyoffice configuration (admin): Set the external docserver adress. In the advanced settings: Set internal docserver and nextcloud server hostnames. I use stunnel internally and the local certificates must be trusted so I setup a local CA for the hosts.

  3. If nextcloud is installed in a subdirectory and not in webroot, there is quirk (bug) that adds the subdir (let’s call it nextcloud) twice in the path which make the cron check to fail so I put a link in the nextcloud dir as so : sudo -u www ln -s ../nextcloud/ nextcloud

I hope this helps anyone with similar issues…