mirror of
https://github.com/kevinveenbirkenbach/computer-playbook.git
synced 2025-10-10 10:48:10 +02:00
Nextcloud: refactor Talk → HPB, switch to bridge mode, and template cleanups
- Change Talk (HPB) network_mode from host → bridge and drop TURN relay range mapping - Remove obsolete nginx restart handler; rely on 'docker compose up' notify - Fix spreed task condition to use HPB standalone flag - docker-compose.yml.j2: parameterize service names, use NEXTCLOUD_*_SERVICE vars, align host-gateway condition with HPB, tidy ports/expose/network blocks - env.j2/nginx configs: rename TALK_* → HPB_* variables and locations; use templated NEXTCLOUD_SERVICE for php upstream - vars: introduce entity_name; centralize *SERVICE keys; rename all Talk vars to HPB; adjust whiteboard keys; compute URLs/JSON configs accordingly - spreed plugin vars: point to HPB signaling/STUN/TURN and internal secret Ref: https://chatgpt.com/share/68db9f41-16ec-800f-9cdf-7530862f89aa
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
{% include 'roles/docker-compose/templates/base.yml.j2' %}
|
||||
|
||||
{% set service_name = 'proxy' %}
|
||||
{% set service_name = NEXTCLOUD_PROXY_SERVICE %}
|
||||
{{ service_name }}:
|
||||
image: "{{ NEXTCLOUD_PROXY_IMAGE }}:{{ NEXTCLOUD_PROXY_VERSION }}"
|
||||
container_name: "{{ NEXTCLOUD_PROXY_CONTAINER }}"
|
||||
@@ -17,7 +17,7 @@
|
||||
networks:
|
||||
default:
|
||||
ipv4_address: 192.168.102.67
|
||||
{% if NEXTCLOUD_TALK_NETWORK_MODE == 'host' %}
|
||||
{% if NEXTCLOUD_HPB_NETWORK_MODE == 'host' %}
|
||||
extra_hosts:
|
||||
- "host.docker.internal:host-gateway"
|
||||
{% endif %}
|
||||
@@ -39,33 +39,31 @@
|
||||
{% include 'roles/docker-container/templates/networks.yml.j2' %}
|
||||
ipv4_address: 192.168.102.69
|
||||
|
||||
{% if NEXTCLOUD_TALK_SIGNALING_ENABLED | bool %}
|
||||
{% set service_name = 'talk' %}
|
||||
{% if NEXTCLOUD_HPB_SIGNALING_ENABLED | bool %}
|
||||
{% set service_name = NEXTCLOUD_HPB_SERVICE %}
|
||||
{{ service_name }}:
|
||||
{% set container_port = NEXTCLOUD_TALK_SIGNALING_PORT %}
|
||||
{% set container_port = NEXTCLOUD_HPB_SIGNALING_PORT %}
|
||||
{% include 'roles/docker-container/templates/base.yml.j2' %}
|
||||
{% include 'roles/docker-container/templates/healthcheck/tcp.yml.j2' %}
|
||||
image: "{{ NEXTCLOUD_TALK_IMAGE }}:{{ NEXTCLOUD_TALK_VERSION }}"
|
||||
container_name: {{ NEXTCLOUD_TALK_CONTAINER }}
|
||||
image: "{{ NEXTCLOUD_HPB_IMAGE }}:{{ NEXTCLOUD_HPB_VERSION }}"
|
||||
container_name: {{ NEXTCLOUD_HPB_CONTAINER }}
|
||||
init: true
|
||||
network_mode: {{ NEXTCLOUD_TALK_NETWORK_MODE }}
|
||||
volumes:
|
||||
- {{ NEXTCLOUD_HOST_JANUS_CONF_PATH }}:/usr/local/etc/janus/janus.jcfg:ro
|
||||
{% if NEXTCLOUD_TALK_NETWORK_MODE == 'bridge' and NEXTCLOUD_TALK_TURN_ONBOARD_ENABLED | bool %}
|
||||
{% if NEXTCLOUD_HPB_NETWORK_MODE == 'bridge' and NEXTCLOUD_HPB_TURN_ONBOARD_ENABLED | bool %}
|
||||
ports:
|
||||
- {{ networks.internet.ip4 }}:{{ NEXTCLOUD_TALK_TURN_ONBOARD_PORT }}:{{ NEXTCLOUD_TALK_TURN_ONBOARD_PORT }}/tcp
|
||||
- {{ networks.internet.ip4 }}:{{ NEXTCLOUD_TALK_TURN_ONBOARD_PORT }}:{{ NEXTCLOUD_TALK_TURN_ONBOARD_PORT }}/udp
|
||||
- {{ NEXTCLOUD_TALK_TURN_ONBOARD_RELAY_PORT_RANGE }}:{{ NEXTCLOUD_TALK_TURN_ONBOARD_RELAY_PORT_RANGE }}/udp
|
||||
- {{ networks.internet.ip4 }}:{{ NEXTCLOUD_HPB_TURN_ONBOARD_PORT }}:{{ NEXTCLOUD_HPB_TURN_ONBOARD_PORT }}/tcp
|
||||
- {{ networks.internet.ip4 }}:{{ NEXTCLOUD_HPB_TURN_ONBOARD_PORT }}:{{ NEXTCLOUD_HPB_TURN_ONBOARD_PORT }}/udp
|
||||
expose:
|
||||
- "{{ container_port }}"
|
||||
networks:
|
||||
default:
|
||||
ipv4_address: 192.168.102.68
|
||||
{% else %}
|
||||
network_mode: {{ NEXTCLOUD_HPB_NETWORK_MODE }}
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
|
||||
{% if NEXTCLOUD_WHITEBOARD_ENABLED %}
|
||||
{% set service_name = 'whiteboard' %}
|
||||
{% set service_name = NEXTCLOUD_WHITEBOARD_SERVICE %}
|
||||
{{ service_name }}:
|
||||
{% set container_port = NEXTCLOUD_WHITEBOARD_PORT_INTERNAL %}
|
||||
{% include 'roles/docker-container/templates/base.yml.j2' %}
|
||||
@@ -79,7 +77,7 @@
|
||||
ipv4_address: 192.168.102.71
|
||||
{% endif %}
|
||||
|
||||
{% set service_name = 'cron' %}
|
||||
{% set service_name = NEXTCLOUD_CRON_SERVICE %}
|
||||
{{ service_name }}:
|
||||
container_name: "{{ NEXTCLOUD_CRON_CONTAINER }}"
|
||||
image: "{{ NEXTCLOUD_IMAGE }}:{{ NEXTCLOUD_VERSION }}"
|
||||
|
@@ -39,19 +39,19 @@ OVERWRITEPROTOCOL= "{{ WEB_PROTOCOL }}"
|
||||
REDIS_HOST= redis
|
||||
REDIS_PORT= 6379
|
||||
|
||||
{% if NEXTCLOUD_TALK_PLUGIN_ENABLED %}
|
||||
{% if NEXTCLOUD_HPB_PLUGIN_ENABLED %}
|
||||
# Talk Configuration
|
||||
NC_DOMAIN={{ NEXTCLOUD_DOMAIN }}
|
||||
TALK_HOST={{ NEXTCLOUD_TALK_DOMAIN }}
|
||||
TURN_SECRET={{ NEXTCLOUD_TALK_TURN_ONBOARD_SECRET }}
|
||||
SIGNALING_SECRET={{ NEXTCLOUD_TALK_SIGNALING_SECRET }}
|
||||
INTERNAL_SECRET={{ NEXTCLOUD_TALK_INTERNAL_SECRET }}
|
||||
TALK_HOST={{ NEXTCLOUD_HPB_DOMAIN }}
|
||||
TURN_SECRET={{ NEXTCLOUD_HPB_TURN_ONBOARD_SECRET }}
|
||||
SIGNALING_SECRET={{ NEXTCLOUD_HPB_SIGNALING_SECRET }}
|
||||
INTERNAL_SECRET={{ NEXTCLOUD_HPB_INTERNAL_SECRET }}
|
||||
TZ={{ HOST_TIMEZONE }}
|
||||
TALK_PORT={{ NEXTCLOUD_TALK_TURN_ONBOARD_PORT }}
|
||||
TURN_MIN_PORT={{ NEXTCLOUD_TALK_TURN_ONBOARD_RELAY_PORT_START }}
|
||||
TURN_MAX_PORT={{ NEXTCLOUD_TALK_TURN_ONBOARD_RELAY_PORT_END }}
|
||||
COTURN_MIN_PORT={{ NEXTCLOUD_TALK_TURN_ONBOARD_RELAY_PORT_START }}
|
||||
COTURN_MAX_PORT={{ NEXTCLOUD_TALK_TURN_ONBOARD_RELAY_PORT_END }}
|
||||
TALK_PORT={{ NEXTCLOUD_HPB_TURN_ONBOARD_PORT }}
|
||||
TURN_MIN_PORT={{ NEXTCLOUD_HPB_TURN_ONBOARD_RELAY_PORT_START }}
|
||||
TURN_MAX_PORT={{ NEXTCLOUD_HPB_TURN_ONBOARD_RELAY_PORT_END }}
|
||||
COTURN_MIN_PORT={{ NEXTCLOUD_HPB_TURN_ONBOARD_RELAY_PORT_START }}
|
||||
COTURN_MAX_PORT={{ NEXTCLOUD_HPB_TURN_ONBOARD_RELAY_PORT_END }}
|
||||
{% endif %}
|
||||
|
||||
{% if NEXTCLOUD_WHITEBOARD_ENABLED %}
|
||||
|
@@ -39,7 +39,7 @@ http {
|
||||
#gzip on;
|
||||
|
||||
upstream php-handler {
|
||||
server application:9000;
|
||||
server {{ NEXTCLOUD_SERVICE }}:9000;
|
||||
}
|
||||
|
||||
server {
|
||||
@@ -192,12 +192,12 @@ http {
|
||||
proxy_read_timeout 3600;
|
||||
}
|
||||
|
||||
{% if NEXTCLOUD_TALK_SIGNALING_ENABLED | bool %}
|
||||
location {{ NEXTCLOUD_TALK_SIGNALING_LOCATION }} {
|
||||
{% if NEXTCLOUD_TALK_NETWORK_MODE == 'host' %}
|
||||
proxy_pass http://host.docker.internal:{{ NEXTCLOUD_TALK_SIGNALING_PORT }}/;
|
||||
{% if NEXTCLOUD_HPB_SIGNALING_ENABLED | bool %}
|
||||
location {{ NEXTCLOUD_HPB_SIGNALING_LOCATION }} {
|
||||
{% if NEXTCLOUD_HPB_NETWORK_MODE == 'host' %}
|
||||
proxy_pass http://host.docker.internal:{{ NEXTCLOUD_HPB_SIGNALING_PORT }}/;
|
||||
{% else %}
|
||||
proxy_pass http://talk:{{ NEXTCLOUD_TALK_SIGNALING_PORT }}/;
|
||||
proxy_pass http://talk:{{ NEXTCLOUD_HPB_SIGNALING_PORT }}/;
|
||||
{% endif %}
|
||||
proxy_http_version 1.1;
|
||||
proxy_set_header Host $host;
|
||||
|
@@ -17,8 +17,8 @@ server
|
||||
client_body_buffer_size 400M;
|
||||
fastcgi_buffers 64 4K;
|
||||
|
||||
{% if NEXTCLOUD_TALK_SIGNALING_ENABLED | bool %}
|
||||
{% set location_ws = '^~ ' ~ NEXTCLOUD_TALK_SIGNALING_LOCATION %}
|
||||
{% if NEXTCLOUD_HPB_SIGNALING_ENABLED | bool %}
|
||||
{% set location_ws = '^~ ' ~ NEXTCLOUD_HPB_SIGNALING_LOCATION %}
|
||||
{% set ws_port = NEXTCLOUD_PORT %}
|
||||
{% include 'roles/sys-svc-proxy/templates/location/ws.conf.j2' %}
|
||||
{% endif %}
|
||||
|
Reference in New Issue
Block a user