Run the connector yourself
The piece that hears your calls is the piece most worth keeping on your own hardware. It is open source, it runs beside your Talk High Performance Backend, and it only ever makes outbound connections.
What it is
A small Python service. It asks the Nextcloud app which calls are live, joins them through your High Performance Backend as an internal client, and streams each participant's audio to the engine. It does not join as a visible participant, does not speak, and does not appear in the room.
- nextcloud-talk-capture — the connector, MIT licensed.
- voxonta-nextcloud-app — the Nextcloud app, AGPL licensed.
What it needs
| Where | The same machine as your Talk High Performance Backend. Audio takes the shortest path that way, and no extra port has to be opened anywhere. |
|---|---|
| Docker | It ships as an image; nothing is installed into the host Python. |
| Outbound access | To your Nextcloud, and to our gateway on 443. Nothing inbound: no port to forward, no rule to add. |
| Resources | Modest — it moves audio rather than recognising it. Recognition happens on our side. |
Settings
NEXTCLOUD_URL | Your Nextcloud, e.g. https://cloud.example.com |
|---|---|
APP_SERVICE_TOKEN | The key from the app's admin settings |
GATEWAY_TARGET | gw.voxonta.com:443 |
GATEWAY_TOKEN | Your workspace key, from your account |
NC_APP_ID | Optional. The app's id, voxonta by default — only needed if you renamed it |
Everything else — which conversations to transcribe, how the bot signs in to Nextcloud, how long to keep results — comes from the app's admin settings, so it is configured in one place rather than two.
NEXTCLOUD_URL looks exactly like "no calls are happening".
Checking it works
On start it should say, in this order, that it loaded settings from your
Nextcloud, that it is streaming to the gateway, and that the call monitor started.
If instead it repeats could not read live calls, the app is not
answering — wrong URL, wrong key, or the app is not enabled.
What stays ours
Speech recognition, the gateway that holds results, and the analyser are not open source and run on our infrastructure. We are not going to pretend otherwise: what you can self-host today is the capture path and the Nextcloud side, which is the part that touches your calls and your users. Recognition needs hardware and a model we maintain; running it yourself is a conversation to have with us rather than a download.