Digital sovereignty

Sovereign video conferencing in Nextcloud with Vuisio

Nextcloud has become the reference collaborative suite for organisations that want to take back control of their data: files, calendar, contacts, and messaging through Talk, all self-hosted. Video conferencing, though, often remains the weak link. Talk’s native video works well in a small group but scales awkwardly without an extra component, and many organisations end up sending their calls to an external video system. The Vuisio app for Nextcloud fills that gap: it plugs self-hosted video conferencing straight into Nextcloud and Talk, without leaving your infrastructure. For the regulatory framework behind this approach, see our guide to sovereign video and the GDPR.

How to add Vuisio video conferencing to Nextcloud

You install an app from the App Store, point it at your Vuisio server, and your users create and join meetings from Nextcloud with their Nextcloud identity.

The app is called simply Vuisio (identifier integration_vuisio) and sits on the Nextcloud App Store. An administrator installs it in three clicks from Apps, then fills in, in the administration settings:

  • the public URL of your Vuisio server;
  • the server’s rooms API token and role signing secret.

Once configured, the app shows a Meetings section: each user creates a room there (becoming its moderator), shares the link, and joins the meeting without leaving Nextcloud. It is also available inside Nextcloud Talk, as we will see below.

How the integration works technically

The app creates the room through your Vuisio server’s API, forges a signed role token, then embeds the native Vuisio client page in an iframe. The media stream never passes through Nextcloud.

In practice, when a user opens a meeting, the Nextcloud app calls the Vuisio server’s HTTP endpoint to create the room (idempotent, protected by a token), mints a role token sealed with HMAC (moderator for the creator), and loads the native room URL in an iframe. Audio and video then travel directly between the browsers and Vuisio’s SFU: Nextcloud serves only for authentication and for starting the meeting.

This open way of working depends on no proprietary gateway: the app works against any open source Vuisio server. Because the moderator role is sealed server-side, it cannot be usurped by editing the URL.

Can a Vuisio meeting be started from Nextcloud Talk?

Yes. From a Talk conversation, a Vuisio meeting is inserted as a card, without embedding the room in the thread.

In the message field, type ”/” then choose Vuisio meeting, give it a name, and confirm. A card appears in the conversation: the meeting name, the live participant count, and a Join button. You can also paste the link of an existing Vuisio room into a message: it is displayed automatically in the same form.

There are two benefits: the card stays readable and actionable for everyone in the conversation, and the participant counter updates itself, which shows at a glance whether the meeting is running. The interface also follows each user’s language in Nextcloud.

Why is this more sovereign than the default video?

Because the video runs on your own server, under a free licence, and no media is relayed by Nextcloud or by any third party.

The video conferencing built into Talk rests on peer-to-peer for small calls; beyond that, it needs a High Performance Backend (the nextcloud-spreed-signaling server) to hold the load. That is an extra component to deploy and maintain. Many organisations get around the problem by sending their calls to an external video service, which reopens the sovereignty question.

Vuisio takes the problem from the other end: it replaces the video engine with a self-hosted SFU, while keeping Nextcloud’s identity and experience. Both the app’s code and the core are under AGPL-3.0, so they can be audited and deployed with no dependency on a supplier. For a more detailed comparison with the other major open source player, see Vuisio versus Jitsi.

CriterionTalk by defaultVuisio in Nextcloud
Small callsPeer-to-peerSelf-hosted SFU
Large meetingsRequires a High Performance BackendSelf-hosted SFU
Media relayed by NextcloudNo (but depends on the backend)No, never
LicenceAGPLAGPL
IdentityNextcloudNextcloud

What has to be configured on the Vuisio server?

Three settings on the server side, once and for all.

  1. VUISIO_ROOM_API_TOKEN: enables and authenticates room creation from the app.
  2. VUISIO_ROLE_SIGNING_SECRET: seals the moderator role with HMAC, so it cannot be forged client-side.
  3. VUISIO_EMBED_ANCESTORS: add your Nextcloud origin here, or the browser will block the iframe.

The server has to be reachable over HTTPS with a valid certificate (a browser refuses to embed a page served over HTTP). The full procedure is in the Nextcloud integration documentation.

In summary

The Vuisio app for Nextcloud brings self-hosted video conferencing where Nextcloud was missing it: in a dedicated app and in Talk, with the Nextcloud identity, under a free licence, and without ever passing media through Nextcloud. It installs from the App Store, is configured by pointing at your Vuisio server’s URL, and lets whoever creates a room become its moderator.

To go further, the app is available on the Nextcloud App Store, and the server configuration is set out in the Vuisio documentation.

Frequently asked questions

How do you install the Vuisio app in Nextcloud?

From an administrator account, open Apps, search for Vuisio and click Install then Enable. The app is published on the Nextcloud App Store under the identifier integration_vuisio. You then fill in the URL of your Vuisio server and two tokens in the app's administration settings.

Can a Vuisio meeting be started from Nextcloud Talk?

Yes. In a Talk conversation, type / and choose Vuisio meeting, give it a name, and a card appears in the thread: the meeting name, the live participant count and a Join button. Pasting the link of an existing room shows the same card.

Does audio and video pass through Nextcloud?

No. The app embeds the native Vuisio client room in an iframe. Audio and video travel directly between participants and your Vuisio server (the SFU). Nextcloud handles only identity and starting the meeting, never the media stream.

How does this differ from Nextcloud Talk's default video?

The video built into Talk relies on peer-to-peer for small calls and needs a High Performance Backend for larger meetings. Vuisio replaces that video engine with your own self-hosted SFU, while keeping Nextcloud's identity and interface.

Is the Vuisio app for Nextcloud open source?

Yes, under the AGPL-3.0 licence. It is published on the Nextcloud App Store (integration_vuisio) and works with any open source Vuisio server. Both the integration code and the Vuisio core are free and auditable.

What has to be configured on the Vuisio server?

Three settings: VUISIO_ROOM_API_TOKEN (authenticates room creation), VUISIO_ROLE_SIGNING_SECRET (seals the moderator role so it cannot be usurped), and your Nextcloud origin in VUISIO_EMBED_ANCESTORS (so the browser allows the iframe).

About the author

Théo Vilain, Head of Engineering & Product Owner, Vuisio (Geezot)

Théo Vilain is head of engineering and product owner of Vuisio, the Rust WebRTC SFU built at Geezot. He has been writing code since the age of 10 and specialises in TypeScript, Rust and C. He designs and evolves Vuisio's real-time architecture daily, from low-level media handling up to product decisions.