Collabora Online high availability

How to run Collabora Online without a single point of failure, using multiple coolwsd servers or Kubernetes replicas, WOPISrc-based sticky routing and capacity planned for peak concurrent editing.

On this page

Why one Collabora Online server becomes a single point of failure

If your WOPI host depends on one Collabora Online server, every document session in your organization depends on that server too. When it stops, users in Nextcloud or another host cannot open, edit or save documents in the browser until it returns. High availability means running several coolwsd servers, or several Kubernetes pods, behind a load balancer that keeps all users editing one document on the same server. The goal is that losing one node interrupts only the sessions it held, while the host sends new sessions to the nodes still running. Before you plan, confirm how your WOPI host stores the Collabora server URL, because that setting determines where the load balancer sits in the request path.

Adding a second node is not the same as adding a second web server. A document editing session is stateful: the coolwsd process holds the open document, the editing state and the connections of every collaborator on that file. Two people editing the same document must reach the same backend, or they would work on different copies and their changes would conflict. A simple round-robin balancer, which sends each new request to the next server in turn, breaks that assumption. Routing must be sticky by document, so the load balancer has to read the WOPISrc parameter that identifies the file. Test this with two users on one file, and again after a node restart, before you go live.

Autoscaling is the next thing teams ask for, and it is not a simple fix. Adding servers in the middle of a busy period brings in nodes that hold no open documents, and removing a server drops the sessions on it. The official Collabora Online Helm chart README states that horizontal pod autoscaling is disabled because scaling breaks collaborative editing and copy and paste, so replica counts are set manually. Plan for your peak concurrent editing load and set the replica count to cover it, then schedule any change to that count for a maintenance window. Ask Collabora and your implementation partner how a scale-down drains active sessions, and confirm that your ingress controller keeps routing stable when pods are added or removed.

The risks to plan for are a node failing mid-session, a load balancer that loses sticky routing after a configuration change, and a rolling update that restarts pods while documents are open. For each risk, decide what collaborators will see, such as a reload prompt and possibly lost unsaved edits, and test that behavior in a staging environment that mirrors your production ingress. Confirm with Collabora which session state, if any, survives a restart in the version you deploy, because the answer determines how much work users can lose. Write the expected behavior into your runbook so operators know what to expect during an incident and who decides whether to drain a node or restore service.

Which high availability design fits your deployment

This table compares the main ways to run Collabora Online with redundancy, plus CODE for pilots only. Read each row for the fit, the ongoing operational work and the subscription question that comes with it. The main takeaway is that every design depends on WOPISrc routing, and the subscription decision should be made before production sizing.

DesignWhen it fitsOperational costSubscription fit
Several coolwsd servers behind a WOPISrc-aware load balancerPackage or VM installs where your team already runs load balancers and wants direct control of each server.Manual scaling, per-server monitoring, and node-by-node upgrades coordinated with the load balancer.Subscription is a separate decision. Collabora describes CODE as not recommended for production.
Manually set replicas in the official Helm chartKubernetes teams that can change replica counts by hand and accept fixed capacity between changes.Horizontal autoscaling is disabled in the chart, so replica changes are manual and ingress must route by WOPISrc.Business plan at 3 euros per user per month for up to 99 users, per the pricing page, adds an SLA and signed security updates.
Collabora Online ControllerLarge deployments where manual replica management and routing become a bottleneck for operations.Confirm with Collabora what it manages, how it is installed, and who operates it before you plan capacity.Enterprise plan is quoted for 100 or more users and adds integration support, customization services and roadmap input.
Pod sizing under the Helm chartAny Helm-based design, because capacity is set per pod, not only by pod count.The chart recommends requests of 4 cores and 6000 MiB and limits of 8 cores and 8000 MiB per pod.Ask your quote to plan for peak concurrent editors, not only total named users.
CODE for pilots and small teamsTesting, home use or small team trials where production support is not required.Released on average monthly as a rolling release, so you own the update and retest cycle.No subscription. Production support terms come only with the Business or Enterprise plans.

How WOPISrc sticky routing keeps co-editors on one server

Co-editing a document in Collabora Online only works when everyone editing that file lands on the same coolwsd process or pod. The mechanism that makes this possible is the WOPISrc parameter. The WOPI host includes WOPISrc in the URL it uses to open a document in the editor, and that value identifies the file. The load balancer in front of the coolwsd servers must hash or route on that parameter, so every user who opens the same document reaches the same backend. If the routing rule is wrong, two people can open the same file on two servers and edit separate copies that cannot be merged cleanly. The components involved are the WOPI host (for example Nextcloud), the reverse proxy or ingress, the coolwsd servers or Kubernetes pods, and the shared storage or document locations the host uses for files. The Helm chart README lists Nginx, HAProxy and OpenShift Router as supported ingress options. Each has its own way of expressing a hash or header-based rule, so the routing configuration is specific to the ingress you choose. Confirm the exact rule against the Collabora Online version you run, because the request paths and parameter handling are part of the product and can change between branches. Ask the vendor or check the release notes before you copy a configuration from an older guide. Routing by client IP address or by a cookie is a weaker choice. Users behind a shared corporate NAT or a proxy can share one IP, so a whole office may be pinned to a single server while other servers sit idle. Clients also change IP addresses on mobile networks, and a cookie can be dropped, expired or never set for a request that arrives through a different path. Either failure can split the users on one document across two servers. Routing on WOPISrc ties the decision to the document itself, which is the unit that needs to stay together. When a session is split, the effects show up quickly. Collaborative edits from one user may not reach the other, so each person sees a different state of the document until they reload. Copy and paste between sessions can fail or behave inconsistently, because the clipboard handling depends on the same server holding the editing session. Those symptoms are easy to mistake for browser or network problems, so test them deliberately during rollout. Before go-live, run a two-browser test on a shared document while you monitor which backend serves each request, and repeat it after any ingress change, scaling event or Collabora upgrade. Plan for a failover case too: when a pod is removed, documents on it must reopen cleanly on another backend, and the team should know who is responsible for that check.

Building a highly available Collabora Online cluster in order

This sequence takes a Collabora Online deployment from a single server to a cluster where several coolwsd nodes share the editing load and survive a node failure. Each step ends with a check you can run before moving on, so problems surface while they are still cheap to fix.

  1. Confirm the platform and release branch

    Decide the deployment platform (Docker images, system packages or Kubernetes with the Helm chart) and pin one release branch, such as 25.04, for every node. Confirm with Collabora which point release on that branch you should run and check that the branch is still receiving point releases before you commit. Record the exact image tag or package version in your change record. Done when every node you plan to build pulls or installs the same tag, and that tag appears in your written configuration.

  2. Deploy two or more identical coolwsd nodes

    Your infrastructure or platform team deploys at least two coolwsd nodes or pods from the same image or package, with identical configuration files, certificates and WOPI settings. Keep configuration in version control so every node reads the same source. Confirm the version on each node by running the version command or reading the image tag from the running pod. Done when all nodes report the same version and their configuration files produce identical checksums.

  3. Set replica counts manually

    Set the replica count explicitly in your Helm values or orchestrator configuration and leave horizontal pod autoscaling disabled. The official Helm chart README states that scaling breaks collaborative editing and copy and paste, so capacity changes should be planned and applied by people, not triggered by metrics alone. Document the replica count and the reason for it. Done when the deployed workload shows a fixed replica count and no autoscaler object is attached to it.

  4. Apply production resource requests and limits

    Set each pod's requests to 4 CPU cores and 6000 MiB of memory, and its limits to 8 CPU cores and 8000 MiB of memory, as recommended in the Helm chart README for production. Treat these as the starting point and confirm them against your expected concurrent editing load and node sizes. Make sure your nodes can schedule the requested capacity for every replica at once. Done when the running pods show these exact requests and limits in their specification, and the scheduler places all replicas without pending pods.

  5. Configure WOPISrc routing at the load balancer

    Configure your load balancer or ingress (Nginx, HAProxy or OpenShift Router are supported by the chart) to route requests using the WOPISrc parameter, so every user editing the same document reaches the same pod. Sticky routing on a cookie or client IP alone does not guarantee this. Test the rule in a staging environment with two users opening the same file. Done when repeated requests carrying the same WOPISrc land on one backend, and a different document can land on another.

  6. Restrict WOPI requests and match protocols

    In the WOPI host, restrict WOPI requests to the addresses of your Collabora servers or load balancer, as the Nextcloud administration manual recommends. Set the Collabora server URL to the same protocol as the host, preferably HTTPS. Confirm the allow list with your network team, including any address the load balancer uses for health checks. Done when a request from an address outside the list is refused, and a test document opens from the host using the HTTPS server URL.

  7. Run a failover test

    With the cluster serving test sessions, stop one pod or node on purpose and observe what users see. Check that the load balancer stops sending new sessions to the failed backend, that documents open on the surviving nodes, and that users can reconnect after the failure. Ask Collabora how in-flight edits are handled when a node stops, and record your findings. Done when you have a written result for each check, the failed node has been restored to the same configuration, and any gaps have an owner and a fix.

Planning capacity for peak concurrent editing

Start capacity planning by measuring peak load. No per-editor sizing figure is available for this topic, so the number has to come from your own environment. Count peak concurrent sessions per document group over a representative period, such as a full business cycle that includes month-end. Total user counts overstate the load, because most licensed users never have a document open at the same moment. Pull the counts from the WOPI host logs, where file open and close events show which document each session used and when it started and ended. Ask the host's administrators which log entries record these events in your configuration, and confirm that the logs keep enough history to cover the peak you are sizing for.

Once you have peak sessions per document group, convert them into a node count. The Collabora Online Helm chart README lists production resource limits of 8 CPU cores and 8000 MiB of memory per pod, with requests of 4 cores and 6000 MiB. Use these as a starting reference for pod sizing and confirm them with a load test. Run the test against a single pod to find how many concurrent sessions it sustains with your document mix, divide your measured peak by that number, and round up. Then add headroom so that losing one node still leaves enough pods at peak. Because horizontal pod autoscaling is disabled in the chart, that headroom is a standing replica count you set and pay for continuously.

Document format and file size change the load, so the test corpus must match your real files. The product supports OpenDocument formats and Microsoft formats such as docx, xlsx and pptx, plus PDF, RTF, CSV and Visio files. Each type places different demands on CPU and memory while it loads, edits and renders. A spreadsheet with heavy formulas or a presentation with large embedded media can use far more memory than a short text document. Large files also hold memory for as long as their sessions stay open, so peak memory per pod depends on how many large files are open together. Sample documents from your file store by type and size, note which formats dominate the largest files, and build the test mix from that sample.

Spreading users across nodes does not help when a single hot document concentrates sessions on one node. The load balancer routes by the WOPISrc parameter, so every editor of one document reaches the same pod. A shared board pack with 40 simultaneous editors (illustrative) lands on one pod even when the cluster has spare capacity elsewhere. Sizing must therefore check the largest document group at peak as well as the total. Identify the hottest documents from the logs, load test a single pod with that document and its editor count, and decide whether the pod's limits and the node it runs on can carry the load. If they cannot, plan to split the document into sections or reduce concurrent editing on it, and confirm that a node failure still leaves that document a pod with enough capacity.

Finish with a load test that reflects the peak you measured, and repeat it when conditions change. Define pass criteria before the test, such as response times for typing and saving at the target concurrency. During the failover test, record which node or pod was removed and how long affected sessions took to recover. Re-run the test after each point release of your chosen branch, after changes to the ingress or chart resource settings, and after material growth in editors or file sizes. Ask Collabora or your implementation partner for any sizing guidance tied to your branch and edition, and confirm it against your own results. Keep the test scripts and log queries in version control so the next capacity review starts from the same method.

What drives high availability effort and cost

This table lists the main drivers of work and spend for a highly available Collabora Online setup, with a way to reduce each one and who usually carries it. Read it as a checklist for scoping: each row names a cost lever you can control, and the right-hand column shows what to put in a written quote. Concurrency, node count and routing rules usually decide more of the effort than the software itself.

DriverWhy it moves effort or costHow to keep it down
Concurrent editors and peak profileCapacity is planned for peak simultaneous editing, not average use, so the node count follows the busiest hour of the busiest dayMeasure real peak concurrency from the WOPI host logs for several weeks and size to that profile, not to total user count
Number of coolwsd nodes and environmentsEach node and each environment (test, staging, production) needs its own configuration, certificates, monitoring and upgrade runUse one standardized node image and one configuration template, then vary only host names and capacity settings per environment
Manual replica sizing and no autoscalingThe official Helm chart disables horizontal pod autoscaling, so replica counts change by an operator, not automaticallyAgree a documented replica count per peak tier and a written procedure for changing it during a maintenance window
Ingress and load balancer changesSticky routing must send every session for one document to the same node, so proxy rules, health checks and timeouts all need to matchDefine one routing rule keyed on the WOPISrc parameter and test it once in each environment before reusing it
WOPI host configuration and allow listsThe WOPI host must list Collabora server addresses and use matching protocols, and every server change can break document openingKeep the allow list in version-controlled configuration and change it through the same pipeline as the node images
Integration with existing monitoringHealth checks, log collection and alerts for each node must reach the operations team's tools, and each new node needs the same wiringReuse existing exporters and dashboards, and add nodes through templates so monitoring follows automatically
File format testingEach node upgrade or configuration change should be checked against the docx, xlsx, pptx, PDF and other formats users rely onKeep a fixed test document set and run it automatically after each change, adding only new formats that appear in real use
Recurring upgrades across nodesPoint releases and security advisories must be applied to every node and the routing layer, and a rolling update must keep editing sessions intactAutomate rolling upgrades with a fixed order, drain steps and a rollback path, and schedule them against a recurring calendar
Who pays for what in a fixed-scope engagementA fixed-scope contract usually covers agreed design, build, test and handover deliverables, while run work and later changes may fall outside itIn the quote, ask which deliverables are fixed, which items are optional, what handover covers and whether upgrades or changes are retainer work

Securing the routing layer and WOPI traffic in an HA setup

A multi-node Collabora Online setup adds routing and admin surface that a single server does not have. The cards below cover who may reach the servers, how traffic is encrypted, and how admin access and updates stay consistent across nodes. Each check applies to every node, because one misconfigured node can undo the protection of the others.

Restrict WOPI requests to Collabora addresses

The Nextcloud administration manual recommends restricting WOPI requests to the IP addresses of the Collabora servers. In an HA setup, that list must include every node that can answer editing requests, and it must be updated when you add or replace a node or change the outbound address of a load balancer. Check it from both sides: confirm that the allow list matches the current node addresses, and confirm that a request from an address outside the list is refused. Name the team that owns the list so it changes when nodes are rebuilt.

Use HTTPS and consistent TLS material

Use the same protocol for the Collabora server URL as for the Nextcloud installation, preferably HTTPS, as the Nextcloud manual recommends. Decide where TLS terminates and whether traffic between the load balancer and each node is also encrypted. Certificates and private keys must be issued, stored and renewed the same way on every node, so one renewal cannot leave a single node serving an expired certificate. Confirm the certificate chain, expiry alerts and key file permissions on each node.

Keep one public entry point

Only the load balancer or ingress should accept connections from outside your network. Each coolwsd node should sit on a private network and refuse direct connections from clients and unrelated hosts. Test this with a scan from outside the network and from the segment that hosts the nodes, and confirm that health checks still succeed from the load balancer. Routing by the WOPISrc parameter depends on this path, so a request that bypasses the entry point may reach a node that is not handling that document.

Protect admin access on each node

Each Collabora node exposes its own administrative console, so restricting access at the load balancer alone is not enough. Block the admin path at the entry point, bind it to a management interface or limit it by source address on each node, and use separate credentials that are rotated on a schedule. Record which accounts can change configuration. Confirm that each configuration change reaches every node, not only the one an administrator happened to reach.

Apply signed updates in one window

Apply signed packages to every node in the same maintenance window so that all nodes run the same Collabora Online build. Collabora publishes security advisories for Collabora Online. For example, the 25.04 release notes record that 25.04.7.5, released January 29, 2026, fixed CVE-2026-23623, and that package signing keys were updated for RPM and DEB users. Before you update, confirm that your package manager trusts the current signing keys, and verify package signatures during rollout.

How to test failover and routing before go-live

Before go-live, run five acceptance tests against a staging copy of the cluster that matches production in node count, ingress, TLS and WOPI host configuration. The tests cover routing, failure and the features users depend on most. Two users opening the same document must land on the same node, a node stopped during an active session must produce a predictable outcome, the load balancer must take an unhealthy node out of rotation, copy and paste must work within a session, and WOPI requests from addresses not on the allow list must be refused. Give each test an owner, a written expected result and a place to record what actually happened. A demo that looks fine is not evidence that the design holds under failure.

The routing tests check the most important design decision in this topic: load balancers must route by the WOPISrc parameter so every user editing one document reaches the same coolwsd server or pod. Open the same document from two separate user accounts through the production hostname and ingress, then confirm from server logs or pod identifiers that both sessions reached the same node. Repeat with several documents so a single lucky match does not pass the test. Ask your ingress administrator to show the exact routing rule in use. A rule based on cookies or source address can pass a two-user test and still split documents once real traffic arrives.

The node-loss test is where teams and business owners most often disagree, so define the expected outcome before stopping anything. Open a document, make edits, then stop the node or pod while the session is active. An acceptable result is that the client reconnects and recovers the session, or that users are clearly told to reload, with no silent loss of edits. Record what each user saw, then reopen the document and check its contents against what was typed. Confirm the exact node-loss behavior with Collabora for the release you run, since session recovery can differ between release branches. Do not treat results from one branch as proof for another.

Three smaller tests catch configuration errors that otherwise surface in the first support ticket. First, fail the readiness check on one node and confirm the load balancer stops sending new sessions to it, while existing sessions are handled as in the node-loss test. Second, within a single session, copy text from the editor, paste it into another part of the document, then paste formatted content back in, since copy and paste depends on the session staying on one node. Third, send WOPI requests from an address that is not on your allow list, such as a workstation on another subnet, and confirm they are refused. Nextcloud's administration guide recommends restricting WOPI requests to the addresses of the Collabora servers, so check that the list matches your real ingress and egress addresses.

Run the tests in a staging copy built from the same images or packages, ingress and TLS settings as production, and record any difference in the test log. Keep a simple record for each test with an identifier, date, release version, tester, steps, observed result, pass or fail, and evidence such as log excerpts or screenshots. Agree pass criteria with the business owner before the first run, not after. Decide which node-loss outcomes are acceptable, whether a forced reload is tolerable for each user group, and who signs off on exceptions. Re-run any failed test after a fix, and repeat the full set after any change to the release, load balancer or WOPI allow list. File the signed record with the go-live approval.

What to monitor, back up, upgrade and document after go-live

Once several coolwsd servers or Kubernetes replicas serve editing, the risks shift from launch to daily running. These six areas keep sticky routing, capacity and recovery working over time, and they give auditors and the WOPI host team a shared picture of how the service behaves.

Per-node sessions and pod resources

Track active editing sessions, CPU and memory for each node against its pod limits. The Helm chart README recommends production limits of 8 CPU cores and 8000 MiB of memory per pod, with requests of 4 cores and 6000 MiB, so compare live usage to those figures. Autoscaling is disabled for this chart, so a node nearing its limits needs a manual replica change. Also confirm that load balancer health checks pass for each pod, since a node that answers probes while dropping sessions still needs attention.

WOPI request errors on the host

Watch the WOPI host's logs for failed CheckFileInfo, GetFile and PutFile calls, and for responses from the Collabora server URL that return errors or time out. Nextcloud administrators should confirm that the allow list of Collabora server IP addresses still matches the current nodes after every change. A node added without updating that list shows up as intermittent failures for users whose documents land on it. Record which node served each failing request so patterns are easy to trace.

Backups of configuration and certificates

Back up the coolwsd configuration, TLS certificates, reverse proxy or ingress rules, and the Helm values or manifests that produce them. Store copies outside the hosts or cluster they describe, and record which certificate serves the Collabora server URL. Schedule restore tests in a separate environment, then confirm that a restored node joins routing with the same WOPISrc behavior. Document files stay with the WOPI host, so confirm with that team which copies it keeps and for how long.

Upgrades across release branches

Collabora Online publishes yearly release branches with point releases in between. The 25.04 branch was first released on June 19, 2025, and 25.04.13 was released on September 21, 2026, so a branch can remain in service for a long period. The 26.04 release was announced on July 23, 2026. Confirm the support status of each branch with Collabora before scheduling work, and plan rolling node updates that keep other nodes serving while one is replaced.

Runbook for adding and removing nodes

Write a step-by-step runbook for adding a node and for removing one. Adding a node means starting it, confirming health checks pass, updating the WOPI host's allow list, and then adding it to the load balancer pool. Removing a node means draining it, deregistering it, then updating the allow list. Confirm with Collabora how sessions close during a drain. Each step needs an owner and a rollback, and the WOPISrc routing rule should be tested in staging before it is used in production.

Topology documentation for auditors

Keep a current diagram and inventory showing each coolwsd server or pod, its network path, the load balancer and its WOPISrc routing rule, the WOPI hosts that connect to it, certificate ownership and the allow list. Auditors use this record to check access controls, change history and data flows, though independent auditors decide what it proves. Give the WOPI host team a copy that matches production, and review it at every topology change.

Questions buyers ask about Collabora Online high availability

How much does a highly available Collabora Online setup cost?

A highly available setup costs three things: the infrastructure it runs on, the one-time engineering to build it, and any subscription you choose. The main components are the Collabora Online servers (coolwsd instances or Kubernetes pods), the load balancer or ingress that routes by WOPISrc, the reverse proxy and TLS certificates, monitoring, and the backup path for the WOPI host. Infrastructure is the recurring line that grows with peak concurrent editing. The official Helm chart README recommends production limits of 8 CPU cores and 8000 MiB of memory per pod, with requests of 4 cores and 6000 MiB. Subscriptions are separate. Collabora's pricing page lists the Business plan at 3 euros per user per month for up to 99 users. Ask any partner for a fixed-scope quote that separates one-time work, recurring infrastructure, subscription terms and exclusions.

How long does a Collabora Online high availability project take?

The duration depends on how much of the design is new to your environment and how quickly your team can provide access and approvals. The main drivers are the number of Collabora servers in the design, whether you run on Kubernetes or on virtual machines, the ingress or load balancer you already operate, and the allow list and TLS work on the WOPI host. Load testing at your expected peak adds time, and so does any change to the network path between the WOPI host and the Collabora servers. Firewall changes and change windows often set the calendar more than the build does. No duration in this section applies to your environment, so ask for a phase plan with a start condition and an acceptance check for each phase, and confirm which steps depend on your own teams.

Can autoscaling replace manual replica counts for Collabora Online?

No. The official Collabora Online Helm chart README states that horizontal pod autoscaling is disabled because scaling breaks collaborative editing and copy and paste, so replica counts are set manually. The reason is architectural: everyone editing a document has to reach the same pod, and a scale event can disrupt the shared state of open documents. In practice, you size the replica count for expected peak concurrent editing, add headroom so the service survives the loss of one server, and change the count in a planned window. Monitor CPU, memory and active session counts to decide when to raise the number of replicas. Confirm the README text for your chart version before you write the runbook, because chart defaults can change between releases.

Can our internal team build Collabora Online high availability ourselves?

Yes, if your team already covers the skills in the stack. You need load balancing and TLS, including health checks, sticky routing on a URL parameter and certificate handling. You need a working understanding of WOPI between the host and the Collabora server, including allow lists and discovery. You need Linux administration for coolwsd servers or package installs. If you deploy on Kubernetes, add Helm, ingress controller configuration and pod resource tuning. Monitoring and load testing are the skills teams most often underestimate. Internal teams usually spend the most time on routing and failure testing, because a sticky-routing rule can look correct in a single-user test. Before you commit, ask whether your team has tested two users editing one document while one server restarts.

What does the work need from our team and environment?

Collabora needs access to the systems around it, plus usable test data. You provide administrative access to the WOPI host, such as the Nextcloud admin account, so the server URL and allow list can be configured. You provide access to the load balancer or ingress, including its configuration and certificate management. You provide a test environment that mirrors production, named test users in each permission group (editors and viewers, for example), and sample documents in the formats you use, including docx, xlsx, pptx and any templates or fonts. Capacity data is essential: historical peak concurrent editors, user counts and expected growth. Without it, the replica count becomes a guess. Also agree on a change window, an escalation contact, and who approves firewall rules between the WOPI host and the Collabora servers.

Which load balancer rule keeps co-editors on the same Collabora server?

Route requests by the WOPISrc parameter so every request for the same document reaches the same Collabora pod. The official Helm chart README makes this requirement explicit. Plain round-robin routing can split co-editors across servers, which shows up as sessions that fail to sync or copy and paste that behaves oddly. The README lists Nginx, HAProxy and the OpenShift Router as supported ingress options, and each has its own way to hash on a query parameter, so confirm the exact rule in your platform's documentation. Test it with two browsers editing one document, then remove a server mid-session and watch the result. Check the rule again after any replica count change, because the set of targets changes at that moment.

Do we need Kubernetes for a highly available Collabora Online deployment?

No. Collabora Online can run from Docker images, system packages or Kubernetes. High availability depends on running several servers behind a router that keeps each document on one server, and that design can be built on any of those platforms. Kubernetes helps with replica management, rolling updates and ingress configuration, and the official Helm chart documents those settings. The trade-off is operational: you take on cluster upkeep, and replica changes stay manual because autoscaling is disabled. For large deployments, Collabora offers the Collabora Online Controller, which is worth evaluating against your expected scale. Choose the platform your operations team already runs well, and keep the routing and health check design the same either way.

How DeployOpen scopes, builds and supports high availability work

DeployOpen plans, implements, documents and supports self-hosted open-source platforms inside your own infrastructure, and Collabora Online high availability follows the same path. Engagements are fixed-scope, with scope, deliverables and timelines agreed in writing before work starts.

How we scope

  • Map which WOPI host sends users to Collabora Online and how many coolwsd servers or replicas the written scope covers
  • Confirm the WOPISrc routing design for the load balancer or ingress, including how all editors of one document reach the same node
  • Agree the peak concurrent editing target with your team and record the assumptions behind it in the written scope

How we build

  • Deploy multiple coolwsd servers or Kubernetes replicas with replica counts set manually, since autoscaling is disabled in the official Helm chart
  • Configure sticky routing by WOPISrc in your chosen proxy, such as Nginx, HAProxy or OpenShift Router, and test failover between nodes
  • Restrict WOPI requests to known Collabora server addresses and use HTTPS for the server URL, following the Nextcloud administration guidance

How we hand over

  • Provide a runbook covering node layout, routing rules, replica settings and the steps to add or drain a node safely
  • Deliver test evidence from failover and concurrent editing checks so your team can repeat them after changes
  • Document the resource requests and limits used for each pod, and the reasons behind them, for your capacity records

How we support

  • Offer ongoing support, upgrades and continuous testing as a retainer, sized to the scope agreed for your environment
  • Review point releases and security advisories against your high availability setup before each planned update window
  • Re-check routing and capacity assumptions when your user count or document workload changes, and quote any added work in writing

Sources and further reading

Talk to our team.

Tell us what you're working on, whether it's a deployment, an audit, a security test or a cyber range. You'll speak with an engineer who can help you scope it.

  • 30-minute call: free, with no obligation.
  • NDA on request: we can sign before you share details.
  • Clear next steps: a scope and plan after the call.