SSD Nodes Learn 🎉 VPS from $4.99/mo
Guides Matt ConnorBy Matt Connor

OnlyOffice vs Collabora on your own server

Which office server belongs next to Nextcloud: vendor RAM floors, the CODE connection limit, docx fidelity, and what really fits a 2 to 4 GB VPS.

OnlyOffice vs Collabora: the answer for a small VPS

OnlyOffice vs Collabora is a choice between two document engines that attach to a file server you already run, which for most readers means Nextcloud. On a 2 GB VPS, pick Collabora and use the copy that Nextcloud bundles, because it adds no second container and no extra web address. On 4 GB or more, ONLYOFFICE Docs earns the extra memory if your team lives in .docx and .xlsx, because those are the formats its editor works in directly.

A third name shows up in every search for this question. ONLYOFFICE DocSpace is a separate product with its own interface, and it is not the piece Nextcloud talks to. Installing DocSpace because a tutorial said "OnlyOffice" is the most common reason people believe an edit button in Nextcloud needs a large server.

The three products people confuse

  • ONLYOFFICE Docs, also called Document Server, is the editing engine on its own. It has no file manager. The Nextcloud connector talks to this one. Community Edition is free, under the GNU AGPL v3.
  • ONLYOFFICE DocSpace is a workspace: rooms, member management, sharing, and its own web interface, with Docs bundled inside it. It overlaps with Nextcloud rather than extending it. Its published minimum, read in August 2026, is 6 CPU cores and 12 GB of RAM.
  • Collabora Online is LibreOffice running on the server. The document is laid out and drawn on the server, then sent to the browser as images. The free build is CODE, short for Collabora Online Development Edition.

Nextcloud ships two apps for the Collabora side. richdocuments, listed in the app store as Nextcloud Office, is the connector to a Collabora server. richdocumentscode carries CODE inside the Nextcloud installation, so there is no container to run and no proxy rule to write. Nextcloud's own manual describes that built in server as suitable for personal use or small teams, and recommends a dedicated Collabora install for better performance.

If you have not settled the file server question yet, Seafile compared against Nextcloud is the decision that comes first, because the office server is an attachment to whichever one you run. If Nextcloud is already up, a Nextcloud instance on a VPS with TLS and backups is the box this guide assumes.

How much RAM does each one need?

ChartVendor stated minimum RAM for the office server alone, August 2026
The data behind this chart
[
  {
    "label": "Collabora CODE",
    "min_ram_gb": 1
  },
  {
    "label": "ONLYOFFICE Docs",
    "min_ram_gb": 4
  },
  {
    "label": "ONLYOFFICE DocSpace",
    "min_ram_gb": 12
  }
]

Those are the figures each vendor publishes, read in August 2026, and each one covers the office server alone with nothing else running. Collabora's quick start for the CODE container states 1 GB. ONLYOFFICE asks for 4 GB for Docs under Docker, plus 4 GB of swap and 40 GB of free disk. DocSpace asks for 12 GB and six CPU cores.

Now add Nextcloud to the same machine. PHP-FPM (FastCGI process manager) workers, the database, and the background job runner all want memory, and so does the kernel page cache that makes file listings feel fast. On a 2 GB VPS there is no room left for a standalone office container, so the box swaps, and a swapping server looks like a broken one: the editor spinner turns for thirty seconds and then gives up. That is why the built in CODE app exists. It ships the Collabora binaries inside the Nextcloud app and Nextcloud proxies the editor traffic to it locally, which costs you speed and saves you a whole service.

Why the two engines spend memory in different ways

Collabora renders on the server. Each open document gets its own process inside the container, which you can watch with docker exec collabora ps -ef while somebody edits. Memory grows with the number of documents open at the same time, so an idle server is cheap and ten simultaneous editors are not.

ONLYOFFICE Docs pushes the layout work into the browser. Its editor is JavaScript, and the server stores the file, coordinates co-editing and runs format conversions. The container also runs nginx, node.js services, PostgreSQL and RabbitMQ, and that baseline is why the floor is 4 GB with nobody connected.

The two curves have different shapes. Collabora starts low and climbs with every open document. ONLYOFFICE starts high and climbs more slowly, because part of the work happens on your users' laptops.

What the free builds limit

CODE allows 10 documents open at the same time, from 20 connections. Collabora set that cap deliberately, so the development build does not quietly become company infrastructure. Past the cap, the next document will not open until a slot frees. The paid Collabora Online build removes the cap and adds support.

ONLYOFFICE Docs Community Edition publishes no connection cap. Its Docker requirements page gives sizing tiers instead: 100 to 200 users on a dual core 2.8 GHz machine with 4 GB of RAM, and 200 to 400 users on a quad core, with a note that the real number depends on the size and type of the documents people open. Read those as vendor ceilings measured under vendor conditions.

Which one handles .docx and .xlsx better?

ONLYOFFICE works in Office Open XML (OOXML) directly, so a .docx file is opened, edited and written back in the format it arrived in. Collabora is LibreOffice underneath, and its native format is OpenDocument (ODF), so every OOXML file passes an import step on open and an export step on save. Both are good enough for everyday documents. The difference appears on files built in Microsoft Word or Excel with heavy formatting, and it appears as small layout shifts rather than lost data.

Do not settle this from comparison pages, including this one. Take your two worst files, the one with tracked changes and the one with the pivot table, open each in both editors, save, download, and compare against the original. Twenty minutes of that answers the fidelity question for your documents, which is the only version of the question that matters.

If one person edits an occasional file, a single file office suite avoids running a document server at all.

Licensing, and where the paid line sits

ONLYOFFICE Docs Community Edition is licensed under the GNU AGPL v3. Collabora Online's source is under the Mozilla Public License 2.0. Both projects are open source, and both companies sell a supported build.

What the free build gives up differs in each case. Collabora's free build is complete and capped at the concurrency numbers above. ONLYOFFICE's free build has no cap, and ONLYOFFICE sells Enterprise and Developer editions that add support and further features. For a household or a small team, both free builds are enough. For a company, read the license terms before planning a rollout, because AGPL obligations and per user pricing are separate problems with separate answers.

Installing either one is a single container

ONLYOFFICE Docs, bound to loopback because a reverse proxy will terminate TLS (transport layer security) in front of it:

sudo docker run -i -t -d -p 127.0.0.1:8081:80 --restart=always \
  -e JWT_SECRET=replace_this_with_a_long_random_string \
  onlyoffice/documentserver

Set JWT_SECRET yourself. JWT (JSON web token) signing has been on by default since ONLYOFFICE Docs 7.2, and if you supply no secret the container generates one. A generated secret can change when the container is recreated, and the connector then stops working with no useful message on screen.

First start takes a few minutes. Check it:

curl http://127.0.0.1:8081/healthcheck

That endpoint answers true once the database, the message broker and the storage inside the container are ready. Anything else, false included, means read docker logs on the container before you touch Nextcloud settings.

Collabora CODE:

docker run -t -d --name collabora --restart always \
  -p 127.0.0.1:9980:9980 \
  -e "aliasgroup1=https://cloud.example.com:443" \
  -e "extra_params=--o:ssl.enable=false" \
  collabora/code

aliasgroup1 is the list of Nextcloud addresses this container will accept work from, and the port belongs in it. Setting ssl.enable=false makes coolwsd, the Collabora server process, speak plain HTTP inside the container, because the reverse proxy in front is doing TLS. Check it:

curl http://127.0.0.1:9980/hosting/capabilities
curl http://127.0.0.1:9980/hosting/discovery

The first returns JSON, the second returns XML. A refused connection means the container is still starting or has exited, so read docker logs collabora.

Connecting the editor to Nextcloud

For Collabora, install the Nextcloud Office app, open Administration settings, then Office, choose the option to use your own server, and enter the address your users' browsers can reach, such as https://office.example.com. Nextcloud holds the files and Collabora fetches them over WOPI (web application open platform interface), so four separate network paths have to work:

  • The browser reaches Nextcloud.
  • The browser reaches the Collabora server.
  • Nextcloud reaches the Collabora server.
  • Collabora reaches Nextcloud.

Test the last two by hand. From the Nextcloud server, curl https://office.example.com/hosting/capabilities should print JSON. From inside the Collabora container, curl https://cloud.example.com/status.php should print Nextcloud's status JSON. Whichever one fails is the path to fix.

For ONLYOFFICE, install the connector app, then fill in the ONLYOFFICE Docs address and the secret key in its settings. The secret must match JWT_SECRET exactly. If the container generated its own, read it inside the container from /etc/onlyoffice/documentserver/local.json, under services.CoAuthoring.secret.inbox.string. Then verify from your Nextcloud directory, running as the web server user:

php occ onlyoffice:documentserver --check

It either confirms the connection or prints the error the connector is hitting, which is faster than reading the browser console. Both connectors also carry advanced fields for the case where the browser address and the server to server address differ, for example when Nextcloud reaches the editor over a private network. Fill those in instead of sending internal traffic out to the public address and back.

Why editing breaks behind a reverse proxy

Almost every report of "it will not open" is one of these.

Protocol mismatch. Nextcloud on https with the office server address written as http fails, because the browser refuses to load an insecure frame inside a secure page. Use https for both.

Missing proxy rules for Collabora. The proxy must forward /browser, /hosting/discovery, /hosting/capabilities, /cool, /cool/adminws, and websocket connections on /cool/(.*)/ws to port 9980. Miss the websocket rule and the document frame loads and then stays empty, because the editor opens a websocket straight after loading and never gets a reply.

A wrong aliasgroup1. The container refuses requests from an address it was never told about, and docker logs collabora records No acceptable WOPI hosts found. The value has to match the Nextcloud URL your users type, port included.

Nextcloud refusing to call a local address. Nextcloud blocks outgoing requests to local and private addresses by default, and the log line is Host violates local access rules. Set 'allow_local_remote_servers' => true in config.php when the editor really is reachable only over a local address.

A WOPI allow list that is too narrow. Nextcloud's Office settings hold an allow list for WOPI requests, which limits the addresses permitted to fetch files. It is a good setting to use, and it is also a good way to break editing after a container comes back with a new IP address. If documents stopped opening right after a rebuild, look at this field first.

ONLYOFFICE cannot download the file. The connector reports Error while downloading the document file to be converted. The document server has been told to fetch a file from Nextcloud and cannot: the address it was given is unreachable from inside its container, or Nextcloud presents a certificate it will not accept, or the secret does not match. Run curl against that exact URL from inside the container with docker exec, and the reason is usually one line long.

What actually fits on 2 GB and 4 GB

On 2 GB, run Nextcloud with the built in CODE app and stop there. It is slower than a standalone server, the first open of a large spreadsheet can take several seconds, and it needs no proxy configuration at all. For one household that is the right answer.

On 4 GB, run Nextcloud plus a standalone CODE container, and configure swap so a burst does not take the box down. This is where editing starts to feel normal.

For ONLYOFFICE Docs beside Nextcloud, plan on 6 to 8 GB, or give Docs its own small server. Its 4 GB floor is for the document server alone, so sharing a 4 GB box with Nextcloud means swapping under any real use.

DocSpace on a small VPS is the mistake to avoid. Its own published minimum is 12 GB of RAM and six CPU cores. A widely linked provider tutorial still deploys DocSpace with the vendor install script on an 8 GB instance, which sits below that published figure and answers a different question than the one you asked. Check what a guide installs before you follow it, and check when the requirements it quotes were last confirmed against the vendor page. The install script is also only one path. Docs and CODE are single containers you start, stop and delete yourself, which is easier to reason about than a script that lays down a stack.

For the wider question of what belongs on a small server at all, what is worth self-hosting in 2026 covers the shortlist.

FAQ

Is OnlyOffice or Collabora better for Nextcloud?

Neither is better in general, and memory usually decides it. Collabora starts at the 1 GB its own quick start publishes, and the free CODE build allows 10 documents open from 20 connections, which suits a household or a small team. ONLYOFFICE Docs asks for 4 GB before Nextcloud's own needs, publishes no connection cap, and works in .docx and .xlsx directly, so it keeps Microsoft Office formatting closer to the original. Pick Collabora on a small VPS. Pick ONLYOFFICE when the team works in Office formats all day and you can give the editor its own memory.

How much RAM do I need to edit documents in Nextcloud?

2 GB works with Nextcloud's built in CODE server app, because that app runs inside the Nextcloud installation instead of as a second service. 4 GB is comfortable for Nextcloud plus a standalone Collabora CODE container. ONLYOFFICE Docs publishes a 4 GB minimum for the document server on its own, so budget 6 to 8 GB when it shares a machine with Nextcloud, or put it on a separate server.

Why does the document frame open and then stay blank?

The editor loads over HTTPS and then opens a websocket, so a blank frame almost always means the websocket never connected. For Collabora behind nginx, confirm the proxy forwards /cool/(.*)/ws with the connection upgrade headers, and that /browser, /hosting/discovery and /hosting/capabilities are forwarded as well. Then read docker logs on the container: No acceptable WOPI hosts found means the aliasgroup1 value does not match the Nextcloud address the browser used, port included.

Do I need ONLYOFFICE DocSpace to edit files in Nextcloud?

No. DocSpace is a standalone workspace with its own interface and its own user accounts, and the Nextcloud connector does not talk to it. The piece Nextcloud connects to is ONLYOFFICE Docs, the document server. DocSpace publishes a minimum of 12 GB of RAM and six CPU cores, which is why guides that install it leave people believing in browser editing needs a large server.