Files
computer-playbook/roles/web-app-nextcloud/meta/addons/spreed.yml
kevinveenbirkenbachandClaude Opus 5.5 a3a8a51632 fix(web-app-nextcloud): write the Talk server lists as typed arrays
Talk 25, the release for Nextcloud 35, reads stun_servers and
turn_servers through the typed app config and declares both as arrays.
Talk 24 read them as JSON strings. The role wrote them without a type,
so on Nextcloud 35 the Talk settings showed no STUN and no TURN server
although the deploy had set both.

A plugin configuration entry may now carry a type, which is passed to
occ config:app:set. The three Talk server lists use it. Entries without
a type are written as before.

Not yet run against a live Nextcloud 35.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-08 11:06:40 +02:00

64 lines
1.8 KiB
YAML

---
enabled: "{{ lookup('config', 'web-app-nextcloud', 'services.talk.enabled') }}"
required: true
mechanism: plugin
source: upstream
bridges:
- talk
- coturn
update:
monitored: true
catalog: nextcloud-appstore
upstream_id: spreed
config:
plugin_configuration:
- appid: "spreed"
configkey: "signaling_servers"
configvalue: "{{ { 'servers': [ { 'server': NEXTCLOUD_HPB_SIGNALING_URL, 'verify': True, 'alias': 'primary' } ], 'secret': NEXTCLOUD_HPB_SIGNALING_SECRET }
| to_json }}"
- appid: "spreed"
configkey: "stun_servers"
type: array
configvalue: >-
{{
[
NEXTCLOUD_HPB_STUN_ONBOARD_CONFIG if NEXTCLOUD_HPB_TURN_ONBOARD_ENABLED else none,
NEXTCLOUD_HPB_STUN_STANDALONE_CONFIG if NEXTCLOUD_HPB_TURN_STANDALONE_ENABLED else none
]
| select
| list
| to_json
}}
- appid: "spreed"
configkey: "turn_servers"
type: array
configvalue: >-
{{
[
NEXTCLOUD_HPB_TURN_ONBOARD_CONFIG if NEXTCLOUD_HPB_TURN_ONBOARD_ENABLED else none,
NEXTCLOUD_HPB_TURN_STANDALONE_CONFIG if NEXTCLOUD_HPB_TURN_STANDALONE_ENABLED else none
]
| select
| list
| to_json
}}
- appid: "spreed"
configkey: "internal_secret"
configvalue: "{{ NEXTCLOUD_HPB_INTERNAL_SECRET }}"
- appid: "spreed"
configkey: "recording_servers"
type: array
configvalue: >-
{{
{
'servers': [
{
'server': 'http://' ~ NEXTCLOUD_RECORDING_SERVICE ~ ':' ~ NEXTCLOUD_RECORDING_PORT ~ '/',
'verify': false
}
],
'secret': NEXTCLOUD_RECORDING_SECRET
}
| to_json
}}