mirror of
				https://github.com/spantaleev/matrix-docker-ansible-deploy.git
				synced 2025-10-31 23:37:56 +01:00 
			
		
		
		
	Merge pull request #2842 from aptiko/issue2721-traefik-additional-jvb
Proxy additional JVBs through traefik (fixes #2721)
This commit is contained in:
		| @@ -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 }}; | ||||
|   | ||||
		Reference in New Issue
	
	Block a user