Merge pull request #2842 from aptiko/issue2721-traefik-additional-jvb
Proxy additional JVBs through traefik (fixes #2721)
This commit is contained in:
commit
bd830053ef
@ -218,18 +218,6 @@ jitsi_prosody_container_jvb_host_bind_port: 5222
|
|||||||
|
|
||||||
(The default is empty; if it's set then docker forwards the port.)
|
(The default is empty; if it's set then docker forwards the port.)
|
||||||
|
|
||||||
The nginx configuration will also need to be updated in order to deal with the additional JVB servers. This is achieved via its own configuration variable
|
|
||||||
`matrix_nginx_proxy_proxy_jitsi_additional_jvbs`, which contains a dictionary of server ids to ip addresses.
|
|
||||||
|
|
||||||
For example,
|
|
||||||
|
|
||||||
``` yaml
|
|
||||||
matrix_nginx_proxy_proxy_jitsi_additional_jvbs:
|
|
||||||
jvb-2: 192.168.0.2
|
|
||||||
jvb-3: 192.168.0.3
|
|
||||||
```
|
|
||||||
|
|
||||||
|
|
||||||
Applied together this will allow you to provision extra JVB instances which will register themselves with the prosody service and be available for jicofo
|
Applied together this will allow you to provision extra JVB instances which will register themselves with the prosody service and be available for jicofo
|
||||||
to route conferences too.
|
to route conferences too.
|
||||||
|
|
||||||
|
@ -2555,6 +2555,38 @@ jitsi_self_check_validate_certificates: "{{ false if matrix_ssl_retrieval_method
|
|||||||
# when embedding Jitsi in Matrix rooms.
|
# when embedding Jitsi in Matrix rooms.
|
||||||
jitsi_disable_gravatar: true
|
jitsi_disable_gravatar: true
|
||||||
|
|
||||||
|
# Traefik proxying for additional JVBs. These can't be configured using Docker
|
||||||
|
# labels, like the first JVB is, because they run on different hosts, so we add
|
||||||
|
# the necessary configuration to the file provider.
|
||||||
|
devture_traefik_provider_configuration_extension_yaml: |
|
||||||
|
http:
|
||||||
|
routers:
|
||||||
|
{% for host in groups['jitsi_jvb_servers'] %}
|
||||||
|
|
||||||
|
additional-{{ hostvars[host]['jitsi_jvb_server_id'] }}-router:
|
||||||
|
entryPoints:
|
||||||
|
- "{{ devture_traefik_entrypoint_primary }}"
|
||||||
|
rule: "Host(`{{ jitsi_hostname }}`) && PathPrefix(`/colibri-ws/{{ hostvars[host]['jitsi_jvb_server_id'] }}/`)"
|
||||||
|
service: additional-{{ hostvars[host]['jitsi_jvb_server_id'] }}-service
|
||||||
|
{% if devture_traefik_entrypoint_primary != 'web' %}
|
||||||
|
|
||||||
|
tls:
|
||||||
|
certResolver: "{{ devture_traefik_certResolver_primary }}"
|
||||||
|
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
{% endfor %}
|
||||||
|
|
||||||
|
services:
|
||||||
|
{% for host in groups['jitsi_jvb_servers'] %}
|
||||||
|
|
||||||
|
additional-{{ hostvars[host]['jitsi_jvb_server_id'] }}-service:
|
||||||
|
loadBalancer:
|
||||||
|
servers:
|
||||||
|
- url: "http://{{ host }}:9090/"
|
||||||
|
|
||||||
|
{% endfor %}
|
||||||
|
|
||||||
######################################################################
|
######################################################################
|
||||||
#
|
#
|
||||||
# /jitsi
|
# /jitsi
|
||||||
|
@ -701,12 +701,3 @@ matrix_nginx_proxy_proxy_matrix_nginx_status_allowed_addresses: ['{{ ansible_def
|
|||||||
# http://nginx.org/en/docs/ngx_core_module.html#worker_connections
|
# http://nginx.org/en/docs/ngx_core_module.html#worker_connections
|
||||||
matrix_nginx_proxy_worker_processes: auto
|
matrix_nginx_proxy_worker_processes: auto
|
||||||
matrix_nginx_proxy_worker_connections: 1024
|
matrix_nginx_proxy_worker_connections: 1024
|
||||||
|
|
||||||
# A mapping of JVB server ids to hostname/ipa addresses used to add additional jvb blocks
|
|
||||||
# to the Jitsi's server configuration (matrix-jitsi.conf)
|
|
||||||
# Note: avoid using the JVB server id "jvb-1" as this is reserved for the main host.
|
|
||||||
# Example:
|
|
||||||
# matrix_nginx_proxy_proxy_jitsi_additional_jvbs:
|
|
||||||
# jvb-2: 192.168.0.1
|
|
||||||
# jvb-3: 192.168.0.2
|
|
||||||
matrix_nginx_proxy_proxy_jitsi_additional_jvbs: {}
|
|
||||||
|
@ -53,10 +53,10 @@
|
|||||||
|
|
||||||
tcp_nodelay on;
|
tcp_nodelay on;
|
||||||
}
|
}
|
||||||
{% for id, ip_address in matrix_nginx_proxy_proxy_jitsi_additional_jvbs.items() %}
|
{% for host in groups['jitsi_jvb_servers'] %}
|
||||||
# colibri (JVB) websockets for additional JVBs
|
# colibri (JVB) websockets for additional JVBs
|
||||||
location ~ ^/colibri-ws/{{ id | regex_escape }}/(.*) {
|
location ~ ^/colibri-ws/{{ hostvars[host]['jitsi_jvb_server_id'] | regex_escape }}/(.*) {
|
||||||
proxy_pass http://{{ ip_address }}:9090/colibri-ws/{{ id }}/$1$is_args$args;
|
proxy_pass http://{{ host }}:9090/colibri-ws/{{ hostvars[host]['jitsi_jvb_server_id'] }}/$1$is_args$args;
|
||||||
|
|
||||||
proxy_set_header Host $host;
|
proxy_set_header Host $host;
|
||||||
proxy_set_header X-Forwarded-For {{ matrix_nginx_proxy_x_forwarded_for }};
|
proxy_set_header X-Forwarded-For {{ matrix_nginx_proxy_x_forwarded_for }};
|
||||||
|
Loading…
Reference in New Issue
Block a user