mirror of
https://github.com/kevinveenbirkenbach/computer-playbook.git
synced 2025-09-08 11:17:17 +02:00
- Enable Spreed (Talk); signaling via /standalone-signaling/ - STUN/TURN: move STUN to 3480 (3479 occupied by BBB), keep TURN 5350 reserved - docker-compose: expose internal WS ports; explicit TURN port mapping - Healthchecks: add nc-based TCP checks (roles/docker-container/templates/healthcheck/nc.yml.j2) - Nginx: location proxy to talk:8081 - Schema: add talk_* secrets (turn/signaling/internal) - Plugins: configure spreed/whiteboard via vars/*; remove old task files - Ports matrix (group_vars/all/09_ports.yml) updated/commented Conversation: https://chatgpt.com/share/68b61a6a-e1dc-800f-b793-4aa600bc0166
48 lines
1.7 KiB
YAML
48 lines
1.7 KiB
YAML
- name: enable {{ plugin_key }} nextcloud plugin
|
|
command: "{{ NEXTCLOUD_DOCKER_EXEC_OCC }} app:enable {{ plugin_key }}"
|
|
register: enable_result
|
|
changed_when: enable_result.rc == 0 and ("already enabled" not in enable_result.stdout)
|
|
|
|
- name: Check if {{ plugin_vars_path }} exists
|
|
stat:
|
|
path: "{{ plugin_vars_path }}"
|
|
delegate_to: localhost
|
|
become: false
|
|
register: plugin_vars_file
|
|
|
|
- name: "Load {{ plugin_key }} configuration variables"
|
|
include_vars:
|
|
file: "{{ plugin_vars_path }}"
|
|
when: plugin_vars_file.stat.exists
|
|
|
|
- name: "Set plugin configuration (batched shell, no async)"
|
|
ansible.builtin.shell: |
|
|
set -euo pipefail
|
|
{% for item in (plugin_configuration | default([])) %}
|
|
{{ NEXTCLOUD_DOCKER_EXEC_OCC }} \
|
|
config:app:set {{ item.appid }} {{ item.configkey }} \
|
|
--value '{{ ( (item.configvalue | to_json) if (item.configvalue is mapping) else (item.configvalue | string) )
|
|
| regex_replace("'", "'" ~ '"' ~ "'" ~ '"' ~ "'") }}'
|
|
{% endfor %}
|
|
args:
|
|
executable: /bin/bash
|
|
when: plugin_vars_file.stat.exists
|
|
register: config_set_shell
|
|
changed_when: >
|
|
not ASYNC_ENABLED and
|
|
(config_set_shell.stdout | default('')) is search(' set to ')
|
|
failed_when: not ASYNC_ENABLED and config_set_shell.rc != 0
|
|
async: "{{ ASYNC_TIME if ASYNC_ENABLED | bool else omit }}"
|
|
poll: "{{ ASYNC_POLL if ASYNC_ENABLED | bool else omit }}"
|
|
no_log: "{{ MASK_CREDENTIALS_IN_LOGS | default(true) | bool }}"
|
|
|
|
- name: Check if {{ plugin_task_path }} exists
|
|
stat:
|
|
path: "{{ plugin_task_path }}"
|
|
delegate_to: localhost
|
|
become: false
|
|
register: plugin_tasks_file
|
|
|
|
- name: "include {{ plugin_task_path }}"
|
|
include_tasks: "{{ plugin_task_path }}"
|
|
when: plugin_tasks_file.stat.exists |