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 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
|
||||
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.
|
||||
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
|
||||
|
|
|
@ -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
|
||||
matrix_nginx_proxy_worker_processes: auto
|
||||
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;
|
||||
}
|
||||
{% 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
|
||||
location ~ ^/colibri-ws/{{ id | regex_escape }}/(.*) {
|
||||
proxy_pass http://{{ ip_address }}:9090/colibri-ws/{{ id }}/$1$is_args$args;
|
||||
location ~ ^/colibri-ws/{{ hostvars[host]['jitsi_jvb_server_id'] | regex_escape }}/(.*) {
|
||||
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 X-Forwarded-For {{ matrix_nginx_proxy_x_forwarded_for }};
|
||||
|
|
Loading…
Reference in a new issue