Procházet zdrojové kódy

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

Proxy additional JVBs through traefik (fixes #2721)
pull/2845/head
Slavi Pantaleev před 2 roky
committed by GitHub
rodič
revize
bd830053ef
V databázi nebyl nalezen žádný známý klíč pro tento podpis ID GPG klíče: 4AEE18F83AFDEB23
4 změnil soubory, kde provedl 35 přidání a 24 odebrání
  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 Zobrazit soubor

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

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

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

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


Načítá se…
Zrušit
Uložit