Bladeren bron

Merge pull request #2842 from aptiko/issue2721-traefik-additional-jvb

Proxy additional JVBs through traefik (fixes #2721)
pull/2845/head
Slavi Pantaleev 2 jaren geleden
committed by GitHub
bovenliggende
commit
bd830053ef
Geen bekende sleutel gevonden voor deze handtekening in de database GPG sleutel-ID: 4AEE18F83AFDEB23
4 gewijzigde bestanden met toevoegingen van 35 en 24 verwijderingen
  1. +0
    -12
      docs/configuring-playbook-jitsi.md
  2. +32
    -0
      group_vars/matrix_servers
  3. +0
    -9
      roles/custom/matrix-nginx-proxy/defaults/main.yml
  4. +3
    -3
      roles/custom/matrix-nginx-proxy/templates/nginx/conf.d/matrix-jitsi.conf.j2

+ 0
- 12
docs/configuring-playbook-jitsi.md Bestand weergeven

@@ -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.



+ 32
- 0
group_vars/matrix_servers Bestand weergeven

@@ -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


+ 0
- 9
roles/custom/matrix-nginx-proxy/defaults/main.yml Bestand weergeven

@@ -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: {}

+ 3
- 3
roles/custom/matrix-nginx-proxy/templates/nginx/conf.d/matrix-jitsi.conf.j2 Bestand weergeven

@@ -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 }};


Laden…
Annuleren
Opslaan