What are the requisites in order to integrate ONLYOFFICE?

The Basics

  • Nextcloud Server version (e.g., 29.x.x):
    • 31.0.4
  • Operating system and version (e.g., Ubuntu 24.04):
    • Ubuntu 24.10
  • Web server and version (e.g, Apache 2.4.25):
    • nginx 1.24.0
  • Reverse proxy and version _(e.g. nginx 1.27.2)
    • nginx 1.24.0
  • PHP version (e.g, 8.3):
    • 8.3
  • Is this the first time you’ve seen this error? (Yes / No):
    • yes
  • When did this problem seem to first start?
    • immediately after installation
  • Installation method (e.g. AlO, NCP, Bare Metal/Archive, etc.)
    • snap
  • Are you using CloudfIare, mod_security, or similar? (Yes / No)
    • no

Summary of the issue you are facing:

Following this guide I installed NextCloud, Community Document Server and ONLYOFFICE app. After this I saw the items to create spreadsheets and the other documents, but I got an error ONLYOFFICE was not available. Then all these items disappeared, no matter if I reinstalled the apps.

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

Exactly what is described in the guide above

  1. from the admin account of NextCloud, install the Community Document Server app
  2. and ONLYOFFICE app

Log entries

Nextcloud

The only error I see is:

2025-05-16T10:29:39.000 -[-] INFO     -                                                                                                                                               │
│  reqId: ZLjkjFi9FvbhEKnIf9YG                                                                                                                                                         │
│  remoteAddr:                                                                                                                                                                         │
│  user: false                                                                                                                                                                         │
│  app: documentserver_community                                                                                                                                                       │
│  method:                                                                                                                                                                             │
│  url: /nextcloud/occ                                                                                                                                                                 │
│  message: An exception occurred trying to rebuild fonts                                                                                                                              │
│  userAgent: --                                                                                                                                                                       │
│  version: 31.0.4.1                                                                                                                                                                   │
│  exception: {"Exception":"Exception","Message":"Segmentation fault (core dumped)\n","Code":0,"Trace":[{"file":"/var/snap/nextcloud/47611/nextcloud/extra-apps/documentserver_communit│

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 ryelevant output/errors here that appear.

No errors in console

Web server / Reverse Proxy

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

2025/05/16 12:44:37 [error] 580257#580257: *1348 open() "/usr/share/nginx/html/index.php/apps/documentserver_community/converter" failed (2: No such file or directory), client: <address>, server: <domain, request: "POST /index.php/apps/documentserver_community/converter?shardKey=2691061946 HTTP/1.1", host: "<address>"
2025/05/16 12:44:37 [error] 580257#580257: *1350 open() "/usr/share/nginx/html/index.php/apps/documentserver_community/converter" failed (2: No such file or directory), client: <address>, server: <domain, request: "POST /index.php/apps/documentserver_community/converter?shardKey=1707564071 HTTP/1.1", host: "<address>"
2025/05/16 12:44:43 [error] 580257#580257: *1363 open() "/usr/share/nginx/html/index.php/apps/documentserver_community/converter" failed (2: No such file or directory), client: <address>, server: <domain, request: "POST /index.php/apps/documentserver_community/converter?shardKey=1707564071 HTTP/1.1", host: "<address>"
2025/05/16 12:44:43 [error] 580257#580257: *1366 open() "/usr/share/nginx/html/index.php/apps/documentserver_community/converter" failed (2: No such file or directory), client: <address>, server: <domain, request: "POST /index.php/apps/documentserver_community/converter?shardKey=2691061946 HTTP/1.1", host: "<address>"
2025/05/16 12:44:44 [error] 580257#580257: *1372 open() "/usr/share/nginx/html/index.php/apps/documentserver_community/converter" failed (2: No such file or directory), client: <address>, server: <domain, request: "POST /index.php/apps/documentserver_community/converter?shardKey=1707564071 HTTP/1.1", host: "<address>"
2025/05/16 12:44:44 [error] 580257#580257: *1373 open() "/usr/share/nginx/html/index.php/apps/documentserver_community/converter" failed (2: No such file or directory), client: <address>, server: <domain, request: "POST /index.php/apps/documentserver_community/converter?shardKey=2691061946 HTTP/1.1", host: "<address>"
2025/05/16 12:47:57 [error] 580257#580257: *1453 open() "/usr/share/nginx/html/.well-known/webfinger" failed (2: No such file or directory), client: <address>, server: <domain, request: "GET /.well-known/webfinger HTTP/1.1", host: "<address>"
2025/05/16 12:50:32 [error] 580257#580257: *1491 open() "/usr/share/nginx/html/.well-known/webfinger" failed (2: No such file or directory), client: <address>, server: <domain, request: "GET /.well-known/webfinger HTTP/1.1", host: "<address>"
2025/05/16 16:29:49 [error] 580257#580257: *1691 open() "/usr/share/nginx/html/index.php/apps/documentserver_community/converter" failed (2: No such file or directory), client: <address>, server: <domain, request: "POST /index.php/apps/documentserver_community/converter?shardKey=2691061946 HTTP/1.1", host: "<address>"
2025/05/16 16:29:49 [error] 580257#580257: *1692 open() "/usr/share/nginx/html/index.php/apps/documentserver_community/converter" failed (2: No such file or directory), client: <address>, server: <domain, request: "POST /index.php/apps/documentserver_community/converter?shardKey=1707564071 HTTP/1.1", host: "<address>"

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": "\/snap\/nextcloud\/current\/htdocs\/apps",
                "url": "\/apps",
                "writable": false
            },
            {
                "path": "\/var\/snap\/nextcloud\/current\/nextcloud\/extra-apps",
                "url": "\/extra-apps",
                "writable": true
            }
        ],
        "supportedDatabases": [
            "mysql"
        ],
        "memcache.locking": "\\OC\\Memcache\\Redis",
        "memcache.local": "\\OC\\Memcache\\Redis",
        "redis": {
            "host": "***REMOVED SENSITIVE VALUE***",
            "port": 0
        },
        "log_type": "file",
        "logfile": "\/var\/snap\/nextcloud\/current\/logs\/nextcloud.log",
        "logfilemode": 416,
        "maintenance_window_start": 1,
        "instanceid": "***REMOVED SENSITIVE VALUE***",
        "passwordsalt": "***REMOVED SENSITIVE VALUE***",
        "secret": "***REMOVED SENSITIVE VALUE***",
        "trusted_domains": [
            "<address>"
        ],
        "datadirectory": "***REMOVED SENSITIVE VALUE***",
        "dbtype": "mysql",
        "version": "31.0.4.1",
        "overwrite.cli.url": "http:\/\/<address>\/nextcloud",
        "overwritehost": "<address>",
        "overwriteprotocol": "http",
        "overwritewebroot": "\/nextcloud",
        "dbname": "***REMOVED SENSITIVE VALUE***",
        "dbhost": "***REMOVED SENSITIVE VALUE***",
        "dbport": "",
        "dbtableprefix": "oc_",
        "mysql.utf8mb4": true,
        "dbuser": "***REMOVED SENSITIVE VALUE***",
        "dbpassword": "***REMOVED SENSITIVE VALUE***",
        "installed": true,
        "default_phone_region": "IT",
        "default_language": "it",
        "default_locale": "it_IT",
        "has_internet_connection": "true",
        "skeletondirectory": "\/var\/snap\/nextcloud\/common\/skeleton",
        "maintenance": false,
        "app_install_overwrite": []
    }
}

Apps

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

Enabled:
  - activity: 4.0.0
  - app_api: 5.0.2
  - bruteforcesettings: 4.0.0
  - calendar: 5.2.4
  - circles: 31.0.0
  - cloud_federation_api: 1.14.0
  - comments: 1.21.0
  - contactsinteraction: 1.12.0
  - dashboard: 7.11.0
  - dav: 1.33.0
  - deck: 1.15.1
  - documentserver_community: 0.2.0
  - federatedfilesharing: 1.21.0
  - federation: 1.21.0
  - files: 2.3.1
  - files_downloadlimit: 4.0.0
  - files_pdfviewer: 4.0.0
  - files_reminders: 1.4.0
  - files_sharing: 1.23.1
  - files_trashbin: 1.21.0
  - files_versions: 1.24.0
  - firstrunwizard: 4.0.0
  - logreader: 4.0.0
  - lookup_server_connector: 1.19.0
  - nextcloud_announcements: 3.0.0
  - notifications: 4.0.0
  - oauth2: 1.19.1
  - onlyoffice: 9.8.0
  - password_policy: 3.0.0
  - photos: 4.0.0-dev.1
  - privacy: 3.0.0
  - profile: 1.0.0
  - provisioning_api: 1.21.0
  - recommendations: 4.0.0
  - related_resources: 2.0.0
  - richdocumentscode: 24.4.1303
  - serverinfo: 3.0.0
  - settings: 1.14.0
  - sharebymail: 1.21.0
  - support: 3.0.0
  - survey_client: 3.0.0
  - systemtags: 1.21.1
  - text: 5.0.0
  - theming: 2.6.1
  - twofactor_backupcodes: 1.20.0
  - user_status: 1.11.0
  - viewer: 4.0.0
  - weather_status: 1.11.0
  - webhook_listeners: 1.2.0
  - workflowengine: 2.13.0
Disabled:
  - admin_audit: 1.21.0
  - encryption: 2.19.0
  - files_external: 1.23.0
  - richdocumentscode_arm64: 24.4.1303
  - suspicious_login: 9.0.1
  - twofactor_nextcloud_notification: 5.0.0
  - twofactor_totp: 13.0.0-dev.0
  - user_ldap: 1.22.0

I’m quite confused because I read a lot of threads about the integration of ONLYOFFICE in NextCloud and most of them say they have a separate installation of ONLYOFFICE, but the guide I found does not require this (actually only the two steps above are required).

Not sure if I missed something or I followed the wrong tutorial.

The “Community Document Server” for OnlyOffice is more or less useless. It was created many years ago when Nextcloud was about to use OnlyOffice as the standard office package. However this did never happen and nowadays Nextcloud Office based on Collabora is the preferred solution and the “Community Document Server” does not really work well any longer.

Also using an office server without Docker is not recommended at all. You should either use OnlyOffice with the Docker container or Nextcloud Office with the Collabora Docker container.

Also see here how to set this up - and yes, you need a Linux server with Docker, a webspace alone is not sufficient:

1 Like

Thanks for the clarifications!
I’m going to try the second option (Nextcloud Office) on my own Ubuntu server.

It would be nice to remove or at least mark as obsolete the tutorial I linked in my question.

1 Like

@yuges32 do check out the Nextcloud snap wiki

especially CODE & Nextcloud Office configuration and How to install and configure Collabora CODE server for Nextcloud snap with docker

or how-to here in the forum:

As the name Nextcloud Office suggests, Collabora is definitely the preferred office integration for Nextcloud nowadays. However, I wouldn’t say that the ONLYOFFICE Community Server is useless. It’s still being maintained, and the last update, according to apps.nextcloud.com was two weeks ago. Also, out of curiosity, I installed it on a test instance (a manual installation on a LAMP stack, not a Snap installation), and It appears to be working just fine.

So I’d say, the issues @yuges32 is expiriencing are probably somehow releated to the NGINX reverse proxy in front of the Snap package, or maybe the ONLYOFFICE community server doeesn’t play nice with the Snap package. :man_shrugging:

1 Like

that was back in 2023 though! see FAQ’s.

Some third party apps are incompatible with Nextcloud snap. We do not maintain these apps and thus we can’t fix anything within them to make them work, nor do we have the manpower to do so. If you’re having issues with a third party app, please log an issue against the app itself.

we do test default apps though, see Update Nextcloud to 31.0.5 by stondino00 ¡ Pull Request #3171 ¡ nextcloud-snap/nextcloud-snap ¡ GitHub which includes Collabora CODE built in service.

The Nextcloud snap team packages a stable default upstream Nextcloud, adds some snap magic, tests and releases that snap package. Since the Nextcloud snap team are neither upstream Nextcloud developers nor app developers, they need to ensure that the default Nextcloud snap does what it should. That entails packaging a stable default Nextcloud and testing fresh installs as well as automated updates, so that the Nextcloud snap community has peace of mind.

So it’s most likely the NGINX config then. Unfortuantely the link to the tutoraial @yuges32 mentiones is not (or no longer?) available in the initial post and they didn’t post their NGINX config either, so hard to say what actually causing it not to work.

Based on the nginx error logs, I’d say there is an incorrect or missing proxy directive, as nginx seems to be trying to serve /usr/share/nginx/html/index.php/apps/documentserver_community/converter directly instead of proxying the request to the snap…

Or it’s because of the following …

…however, the person who commented after the GitHub post that you linked to says that they managed to get it working. So I don’t know, maybe it only happens in combination with a reverse proxy, which then may require some special configuration as well…?

@vawaver any ideas?

Experience with various Nextcloud deployment methods and ONLYOFFICE integration

From personal experience, I’ve gone through practically every method the community recommends for running Nextcloud – from classic LAMP installation to Snap and even docker-compose. Each of these approaches had one thing in common:
the moment I integrated an office suite (Collabora, later ONLYOFFICE), issues began to appear that couldn’t be solved by simply reading the documentation.


1. LAMP (bare-metal server – Apache + MariaDB)

At first, everything seemed ideal – all under one roof, full control over package versions.
The problem came after an Apache update: after restarting, I ran into database errors.
Even though Nextcloud itself launched, the Document Server stopped working due to blocked CORS headers.
Result: hours spent logging and temporarily disabling Office functionality.


2. Snap

It used to be a “set it and forget it” solution – a few commands and it worked: Collabora, Let’s Encrypt, and a reverse proxy all in one.
Today, however, Snap quickly runs into its limits.
For a simple personal cloud, it’s usable,
but if I want a stable online office, Snap simply isn’t enough.


3. Docker-compose (custom containers)

At first, it seemed like a golden middle ground – isolated containers, fast rollbacks, easy testing.
The reality came after a major Nextcloud update:

  • new PHP version,
  • new Document Server,
  • service incompatibilities.

Suddenly, documents wouldn’t open and I spent half a day searching for the cause, because somewhere in the stack an older container with an incompatible protocol was still running.
Theoretically neat, practically unstable with every update.


4. Nextcloud AIO

It wasn’t until AIO that I understood robustness doesn’t have to mean complex management.
Yes, AIO requires slightly more RAM and CPU, but it pays off with stability and consistent updates:

  • containers are versioned together,
  • no need to manually manage dependencies during updates,
  • Document Server works immediately – without having to configure CORS or WebSockets,
  • certificates are handled via NGINX (my own reverse proxy),
  • backups are handled by BorgBackup (though I still use Proxmox-level snapshots as well).

A proven combination that works

The best result I’ve had so far came from the combination:
Ubuntu Server 24.04 + XFS + Nextcloud AIO

In practice, this means:

  • image thumbnails are generated without issues,
  • OFFICE works without any manual configuration,
  • large videos (e.g. 20+ GB) upload at full speed and without interruptions.

Common mistake: too many layers

I understand the community likes experimenting with TrueNAS, OpenMediaVault, Raspberry Pi, or LXC.
But if I expect a complete service package – file sharing, online office, video calls, backups –
then every additional layer increases the risk that something won’t work or I’ll run into limitations.

Time is the most valuable resource – and instead of constantly chasing workarounds, it pays off to choose a solution that’s designed as a whole from the start.


Advice for beginners

Before deciding on a specific Nextcloud version, consider:

  • Do I only need file syncing and sharing?
    → Snap or Raspberry Pi might be sufficient.

  • Do I also need online document editing, video calls, recordings, backups?
    → Then it’s absolutely worth going with Nextcloud AIO on Ubuntu Server with the XFS file system.


My contributions

I’ve shared my long-term working configurations multiple times on the forum – including NGINX reverse proxy setups.
If someone is looking for stability and minimal intervention, this is the way to go.

Fewer layers = fewer problems = more time for real work.

Unfortunately, even this very extensive post does not address the actual issue raised in the original post, which was about the built-in OnlyOffice Community Server.

Of course, you can try using Nextcloud Office instead, as @awelzel suggested, or AIO, where everything works out of the box, including both office integrations. However, while I have not tested it extensively, the built-in OnlyOffice Community Server generally seems to work, and there may be good reasons why someone would prefer to use that rather than Nextcloud Office.

But that’s also or mainly because with AIO others do all the complex management for you :wink:

On that note, many thanks to @szaimen and everyone else who contributes to AIO! :heart:

3 Likes

Hey :slight_smile:

Indeed and actually the simpler and easier to reproduce a setup is, the more stable and robust it gets :wink:

You could also say: Less is more :slight_smile:

Thank you very much :hugs:

1 Like

ive been using the onlyoffice integration for many years now and while it does take a bit more technical knowledge to implement it is much more powerful than the built in editing.

I’m using the docker container for onlyoffice
a couple notes from my setup

setup containers
nextcloud -
normal setup, nothing specific to onlyoffice except the addition of the jwt secret settings in the config
  'onlyoffice' => array (
    'verify_peer_off' => true,
    'jwt_header' => "AuthorizationJwt"
  ),


onlyoffice - 
following lines added to environment values in compose file for the onlyoffice container
the JWT_SECRET can be generated by going to <onlyoffice>:port/welcome, steps there will have a line to generate a secret. you then put this secret in the onlyoffice app within nextcloud admin settings
      - USE_UNAUTHORISED_STORAGE=true
      - JWT_ENABLED=true
      - JWT_SECRET=<put a key here>
      - JWT_HEADER=AuthorizationJwt
      - JWT_IN_BODY=true

you then need to set up a url in your environment that points to the oinlyoffice container and get these values set up properly in the onlyoffice app in the admin settings. this will depend on how your environment is set up. if you are hosting your environment with a publicly accessible url the url to the onlyoffice container needs to be accessible as well

I just quickly tested this out of curiosity.

Infrastructure:

Hetztner VPS, Ubuntu 24.04, Public IP, DNS A Record for cloud.example.tld

And here’s what I did:

sudo snap install nextcloud
sudo snap set nextcloud ports.http=81 ports.https=444
sudo apt install nginx
sudo nano /etc/nginx/sites-available/nextcloud

Inserted the following:

server {
    listen 80;
    server_name cloud.example.tld;

    location / {
        proxy_pass http://localhost:81;

        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;

        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection $http_connection;

        proxy_buffering off;
        proxy_request_buffering off;

        client_max_body_size 100m;

        proxy_read_timeout 3600s;
        proxy_send_timeout 3600s;
        send_timeout 3600s;
    }
}

Enabled the site:

sudo ln -s /etc/nginx/sites-available/nextcloud /etc/nginx/sites-enabled/
sudo systemctl restart nginx

Installed Certbot and obtaind a valid cert

sudo apt install certbot python3-certbot-nginx
sudo certbot --nginx

Opened Nextcloud via https://cloud.example.tld in the browser and completed the setup

Did minimal config changes in Nextcloud, more should probably be done as described here: Putting the snap behind a reverse proxy ¡ nextcloud-snap/nextcloud-snap Wiki ¡ GitHub

sudo nextcloud.occ config:system:set overwriteprotocol --value="https"
sudo nextcloud.occ config:system:set overwritehost --value="cloud.example.tld"

Installed Community Document Server and the OnlyOffice app from the Nextcloud App Store

:warning: Check the pre-filled URL under Settings → Administartion → OnlyOffice, and change it from HTTP to HTTPS if necessary!

Et voilà…

2 Likes

Not sure why the link is not available anymore. I hope there is no problem to link here an official tutorial from nextcloud website. Here I write it again:

I appreciate a lot the comments of you all. Honestly it is not straightforward to understand all the variants, installation methods and names without a clear explanation - like these you can find in this thread!

Actually, I was able to install Nextcloud Office AIO on my webserver, even if following the guide was not enough - and I did not anything unusual: just a fresh installation on a fresh Ubuntu 24.10 with nginx.

Perfect!
I suggest you make this a separate tutorial and post it as a separate topic.
I’m sure this will pop up again as a help request somewhere in a few days.

Not sure another tutorial is needed.

The whole point of my post was to show that I didn’t do anything special. I simply installed Snap and NGINX as a basic reverse proxy to replicate OP’s setup and test whether the built-in ONLYOFFICE server would work with such a configuration.

The only ‘special’ part was where I had to manually change the URL in the ONLYOFFICE settings from HTTP to HTTPS, which might not even be necessary when using HTTPS directly via the Snap’s built-in ACME client instead of using a reverse proxy in front of the Snap.

Conclusion: no tutorial is needed because you can simply install the Community Document Server and ONLYOFFICE Connector apps from the App Store.

Or, in even simpler terms: The existing tutorial that was linked multiple times in this thread works! :wink:

EDIT:
Also, I only did a quick and dirty setup, and there were still a few warnings on the ‘Security & Setup Warnings’ page that I didn’t look into any further. I’d say those warnings were probably caused by missing overwrite parameters in the config.php. So when using a reverse proxy there’s likely additional configuration necessary in Nextcloud, as described here: Putting the snap behind a reverse proxy · nextcloud-snap/nextcloud-snap Wiki · GitHub

confirmed, works out of the box:

quick test

test on fresh install testing instance

@yuges32, so to answer the initial question;
there are no special requirements needed to run ONLYOFFICE on Nextcloud snap

1 Like

I’m glad your setup works and I appreciated you’ve already selected this as the solution.
So are my configuration files above wrong?

sorry for misunderstanding… the issue was “what requirements are needed” the answer was “none” so the issue is solved?

this can’t be correct… is it? that wouldn’t be a default snap install then?

if you’re running behind a reverse proxy handling your certificates, you’d need to set this to https

review these docs Reverse proxy configuration

this can’t be correct… is it? that wouldn’t be a default snap install then?

Why does it seem odd to you?

$ nginx -v
nginx version: nginx/1.24.0 (Ubuntu)

Of course I didn’t installed nginx as snap package.

if you’re running behind a reverse proxy handling your certificates, you’d need to set this to https

At the time of my post (before migrating to AIO) I didn’t want to use https, so I set it to http (also for "overwrite.cli.url": "http:\/\/<address>\/nextcloud").

Is https mandatory?