Skip to content

Expose external services status and setup checks in serverinfo API (Collabora, HPB, occ setupchecks) #960

@jplouvel

Description

@jplouvel

Summary

The Nextcloud admin UI already fetches and displays version/status information for external companion services (Collabora, HPB, OnlyOffice, etc.).
This data is not exposed in the serverinfo API, making it unavailable to external monitoring tools.

Context

When monitoring multiple Nextcloud instances, administrators need a complete picture of their infrastructure — not just NC/PHP/DB versions but also the companion services they operate.

Currently, this information is only visible manually in each app's admin settings page, one instance at a time.

Nextcloud already knows the URLs of these services (stored in app config) and already queries them to display status in the admin UI.
It would be very valuable to expose this data through the serverinfo API.

Proof of concept

Collabora Online

Nextcloud stores the URL via:

php occ config:app:get richdocuments wopi_url

Querying the capabilities endpoint:

curl -s "https://<collabora-server>/hosting/capabilities"

Returns:

{
  "productName": "Collabora Online Development Edition",
  "productVersion": "25.04.8.1",
  "productVersionHash": "278cb3481b",
  "hasWOPIAccessCheck": true,
  "hasDocumentSigningSupport": true,
  "hasMobileSupport": true,
  ...
}

✅ Full version info available.

High Performance Backend (Talk/spreed-signaling)

Nextcloud stores the URL via:

php occ config:app:get spreed signaling_servers

Querying the welcome endpoint:

curl -s "https://<hpb-server>/standalone-signaling/api/v1/welcome"

Returns:

{
  "nextcloud-spreed-signaling": "Welcome",
  "version": "1b0ed17460b9d879460ee078f1892c797ad486af"
}

✅ Server reachable, version exposed as Git commit hash.

Additional proposal: expose occ setupchecks results in the API

The command occ setupchecks returns a comprehensive health check of the Nextcloud instance (database indices, security headers, cron, memcache, PHP config, Talk configuration, etc.).

Example output includes:

  • ✓ / ⚠ / ✗ / ℹ status per check
  • Categories: system, database, network, security, php, talk, mail...

This data is already computed internally by Nextcloud for the admin overview page (Settings → Overview). Exposing it in the serverinfo API would allow external monitoring tools to :

  • Alert on ⚠ and ✗ items without requiring admin UI access
  • Track health regressions across multiple instances over time

Use case

We are building NcStatusCheck, an open-source monitoring dashboard for multiple Nextcloud instances.

This feature would give administrators a complete infrastructure health overview across all their instances from a single dashboard.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions