Fix errors when installing additional JVBpull/2749/head
| @@ -165,7 +165,7 @@ jitsi_prosody_max_participants: 4 # example value | |||||
| By default, a single JVB ([Jitsi VideoBridge](https://github.com/jitsi/jitsi-videobridge)) is deployed on the same host as the Matrix server. To allow more video-conferences to happen at the same time, you may need to provision additional JVB services on other hosts. | By default, a single JVB ([Jitsi VideoBridge](https://github.com/jitsi/jitsi-videobridge)) is deployed on the same host as the Matrix server. To allow more video-conferences to happen at the same time, you may need to provision additional JVB services on other hosts. | ||||
| There is an ansible playbook that can be run with the following tag: | There is an ansible playbook that can be run with the following tag: | ||||
| ` ansible-playbook -i inventory/hosts --limit jitsi_jvb_servers jitsi_jvb.yml --tags=common,setup-additional-jitsi-jvb,start` | |||||
| `ansible-playbook -i inventory/hosts --limit jitsi_jvb_servers jitsi_jvb.yml --tags=common,setup-additional-jitsi-jvb,start` | |||||
| For this role to work you will need an additional section in the ansible hosts file with the details of the JVB hosts, for example: | For this role to work you will need an additional section in the ansible hosts file with the details of the JVB hosts, for example: | ||||
| ``` | ``` | ||||
| @@ -208,6 +208,16 @@ However, it can also be set the ip address of the matrix server. This can be use | |||||
| jitsi_xmpp_server: "192.168.0.1" | jitsi_xmpp_server: "192.168.0.1" | ||||
| ``` | ``` | ||||
| For the JVB to be able to contact the XMPP server, the latter must expose the XMPP port (5222). By default, the Matrix server does not expose the | |||||
| port; only the XMPP container exposes it internally inside the host, which means that the first JVB (which runs on the Matrix server) can reach it but | |||||
| the additional JVB cannot. The port is exposed by setting `jitsi_prosody_container_jvb_host_bind_port` like this: | |||||
| ```yaml | |||||
| 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 | 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. | `matrix_nginx_proxy_proxy_jitsi_additional_jvbs`, which contains a dictionary of server ids to ip addresses. | ||||
| @@ -0,0 +1,11 @@ | |||||
| jitsi_architecture: "{{ matrix_architecture }}" | |||||
| jitsi_hostname: "{{ matrix_server_fqn_jitsi }}" | |||||
| jitsi_uid: "{{ matrix_user_uid }}" | |||||
| jitsi_gid: "{{ matrix_user_gid }}" | |||||
| devture_systemd_service_manager_services_list_auto: | | |||||
| {{ | |||||
| ([{'name': (jitsi_identifier + '-jvb.service'), 'priority': 4100, 'groups': ['matrix', 'jitsi', 'jitsi-jvb']}] if jitsi_enabled else []) | |||||
| }} | |||||
| matrix_playbook_docker_installation_enabled: true | |||||
| @@ -0,0 +1,35 @@ | |||||
| --- | |||||
| - name: "Set up additional Jitsi JVB servers" | |||||
| hosts: "jitsi_jvb_servers" | |||||
| become: true | |||||
| roles: | |||||
| - role: galaxy/com.devture.ansible.role.playbook_help | |||||
| - role: galaxy/com.devture.ansible.role.systemd_docker_base | |||||
| - when: matrix_playbook_docker_installation_enabled | bool | |||||
| role: galaxy/geerlingguy.docker | |||||
| vars: | |||||
| docker_install_compose: false | |||||
| tags: | |||||
| - setup-docker | |||||
| - setup-all | |||||
| - setup-additional-jitsi-jvb | |||||
| - install-docker | |||||
| - install-all | |||||
| - when: devture_docker_sdk_for_python_installation_enabled | bool | |||||
| role: galaxy/com.devture.ansible.role.docker_sdk_for_python | |||||
| tags: | |||||
| - setup-docker | |||||
| - setup-all | |||||
| - setup-additional-jitsi-jvb | |||||
| - install-docker | |||||
| - install-all | |||||
| - custom/matrix-base | |||||
| - galaxy/jitsi | |||||
| - custom/matrix-common-after | |||||
| - when: devture_systemd_service_manager_enabled | bool | |||||
| role: galaxy/com.devture.ansible.role.systemd_service_manager | |||||
| @@ -1,12 +0,0 @@ | |||||
| --- | |||||
| - name: "Set up additional Jitsi JVB servers" | |||||
| hosts: "jitsi_jvb_servers" | |||||
| become: true | |||||
| roles: | |||||
| - role: galaxy/com.devture.ansible.role.playbook_help | |||||
| - role: galaxy/com.devture.ansible.role.systemd_docker_base | |||||
| - custom/matrix-base | |||||
| - galaxy/jitsi | |||||
| - custom/matrix-common-after | |||||
| @@ -1,143 +0,0 @@ | |||||
| --- | |||||
| - name: "Set up a Matrix server" | |||||
| hosts: "{{ target if target is defined else 'matrix_servers' }}" | |||||
| become: true | |||||
| roles: | |||||
| # Most of the roles below are not distributed with the playbook, but downloaded separately using `ansible-galaxy` via the `just roles` command (see `justfile`). | |||||
| - role: galaxy/com.devture.ansible.role.playbook_help | |||||
| - role: galaxy/com.devture.ansible.role.systemd_docker_base | |||||
| - role: custom/matrix_playbook_migration | |||||
| - when: matrix_playbook_docker_installation_enabled | bool | |||||
| role: galaxy/geerlingguy.docker | |||||
| vars: | |||||
| docker_install_compose: false | |||||
| tags: | |||||
| - setup-docker | |||||
| - setup-all | |||||
| - install-docker | |||||
| - install-all | |||||
| - when: devture_docker_sdk_for_python_installation_enabled | bool | |||||
| role: galaxy/com.devture.ansible.role.docker_sdk_for_python | |||||
| tags: | |||||
| - setup-docker | |||||
| - setup-all | |||||
| - install-docker | |||||
| - install-all | |||||
| - when: devture_timesync_installation_enabled | bool | |||||
| role: galaxy/com.devture.ansible.role.timesync | |||||
| tags: | |||||
| - setup-timesync | |||||
| - setup-all | |||||
| - install-timesync | |||||
| - install-all | |||||
| - custom/matrix-base | |||||
| - custom/matrix-dynamic-dns | |||||
| - custom/matrix-mailer | |||||
| - role: galaxy/com.devture.ansible.role.postgres | |||||
| - galaxy/redis | |||||
| - custom/matrix-corporal | |||||
| - custom/matrix-bridge-appservice-discord | |||||
| - custom/matrix-bridge-appservice-slack | |||||
| - custom/matrix-bridge-appservice-webhooks | |||||
| - custom/matrix-bridge-appservice-irc | |||||
| - custom/matrix-bridge-appservice-kakaotalk | |||||
| - custom/matrix-bridge-beeper-linkedin | |||||
| - custom/matrix-bridge-go-skype-bridge | |||||
| - custom/matrix-bridge-mautrix-facebook | |||||
| - custom/matrix-bridge-mautrix-twitter | |||||
| - custom/matrix-bridge-mautrix-hangouts | |||||
| - custom/matrix-bridge-mautrix-googlechat | |||||
| - custom/matrix-bridge-mautrix-instagram | |||||
| - custom/matrix-bridge-mautrix-signal | |||||
| - custom/matrix-bridge-mautrix-telegram | |||||
| - custom/matrix-bridge-mautrix-whatsapp | |||||
| - custom/matrix-bridge-mautrix-discord | |||||
| - custom/matrix-bridge-mautrix-slack | |||||
| - custom/matrix-bridge-mx-puppet-discord | |||||
| - custom/matrix-bridge-mx-puppet-groupme | |||||
| - custom/matrix-bridge-mx-puppet-steam | |||||
| - custom/matrix-bridge-mx-puppet-slack | |||||
| - custom/matrix-bridge-mx-puppet-twitter | |||||
| - custom/matrix-bridge-mx-puppet-instagram | |||||
| - custom/matrix-bridge-sms | |||||
| - custom/matrix-bridge-heisenbridge | |||||
| - custom/matrix-bridge-hookshot | |||||
| - custom/matrix-bot-matrix-reminder-bot | |||||
| - custom/matrix-bot-matrix-registration-bot | |||||
| - custom/matrix-bot-maubot | |||||
| - custom/matrix-bot-buscarron | |||||
| - custom/matrix-bot-honoroit | |||||
| - custom/matrix-bot-postmoogle | |||||
| - custom/matrix-bot-go-neb | |||||
| - custom/matrix-bot-mjolnir | |||||
| - custom/matrix-bot-draupnir | |||||
| - custom/matrix-bot-chatgpt | |||||
| - custom/matrix-cactus-comments | |||||
| - custom/matrix-rageshake | |||||
| - custom/matrix-synapse | |||||
| - custom/matrix-synapse-auto-compressor | |||||
| - custom/matrix-synapse-reverse-proxy-companion | |||||
| - custom/matrix-dendrite | |||||
| - custom/matrix-conduit | |||||
| - custom/matrix-synapse-admin | |||||
| - galaxy/prometheus_node_exporter | |||||
| - galaxy/prometheus_postgres_exporter | |||||
| - custom/matrix-prometheus-nginxlog-exporter | |||||
| - galaxy/prometheus | |||||
| - galaxy/grafana | |||||
| - custom/matrix-prometheus-services-connect | |||||
| - custom/matrix-prometheus-services-proxy-connect | |||||
| - custom/matrix-registration | |||||
| - custom/matrix-client-element | |||||
| - custom/matrix-client-hydrogen | |||||
| - custom/matrix-client-cinny | |||||
| - galaxy/jitsi | |||||
| - custom/matrix-user-verification-service | |||||
| - custom/matrix-ldap-registration-proxy | |||||
| - custom/matrix-ma1sd | |||||
| - custom/matrix-dimension | |||||
| - galaxy/etherpad | |||||
| - custom/etherpad-proxy-connect | |||||
| - custom/matrix-sliding-sync | |||||
| - custom/matrix-email2matrix | |||||
| - custom/matrix-sygnal | |||||
| - galaxy/ntfy | |||||
| - custom/matrix-nginx-proxy | |||||
| - custom/matrix-coturn | |||||
| - role: galaxy/auxiliary | |||||
| - role: galaxy/com.devture.ansible.role.postgres_backup | |||||
| - role: galaxy/backup_borg | |||||
| - custom/matrix-user-creator | |||||
| - custom/matrix-common-after | |||||
| - role: galaxy/com.devture.ansible.role.container_socket_proxy | |||||
| - role: galaxy/com.devture.ansible.role.traefik | |||||
| - role: galaxy/com.devture.ansible.role.traefik_certs_dumper | |||||
| - when: devture_systemd_service_manager_enabled | bool | |||||
| role: galaxy/com.devture.ansible.role.systemd_service_manager | |||||
| # This is pretty much last, because we want it to better serve as a "last known good configuration". | |||||
| # See: https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/2217#issuecomment-1301487601 | |||||
| - when: devture_playbook_state_preserver_enabled | bool | |||||
| role: galaxy/com.devture.ansible.role.playbook_state_preserver | |||||
| tags: | |||||
| - setup-all | |||||
| - install-all | |||||
| - role: galaxy/com.devture.ansible.role.playbook_runtime_messages | |||||
| @@ -1 +0,0 @@ | |||||
| playbooks/matrix.yml | |||||
| @@ -0,0 +1,143 @@ | |||||
| --- | |||||
| - name: "Set up a Matrix server" | |||||
| hosts: "{{ target if target is defined else 'matrix_servers' }}" | |||||
| become: true | |||||
| roles: | |||||
| # Most of the roles below are not distributed with the playbook, but downloaded separately using `ansible-galaxy` via the `just roles` command (see `justfile`). | |||||
| - role: galaxy/com.devture.ansible.role.playbook_help | |||||
| - role: galaxy/com.devture.ansible.role.systemd_docker_base | |||||
| - role: custom/matrix_playbook_migration | |||||
| - when: matrix_playbook_docker_installation_enabled | bool | |||||
| role: galaxy/geerlingguy.docker | |||||
| vars: | |||||
| docker_install_compose: false | |||||
| tags: | |||||
| - setup-docker | |||||
| - setup-all | |||||
| - install-docker | |||||
| - install-all | |||||
| - when: devture_docker_sdk_for_python_installation_enabled | bool | |||||
| role: galaxy/com.devture.ansible.role.docker_sdk_for_python | |||||
| tags: | |||||
| - setup-docker | |||||
| - setup-all | |||||
| - install-docker | |||||
| - install-all | |||||
| - when: devture_timesync_installation_enabled | bool | |||||
| role: galaxy/com.devture.ansible.role.timesync | |||||
| tags: | |||||
| - setup-timesync | |||||
| - setup-all | |||||
| - install-timesync | |||||
| - install-all | |||||
| - custom/matrix-base | |||||
| - custom/matrix-dynamic-dns | |||||
| - custom/matrix-mailer | |||||
| - role: galaxy/com.devture.ansible.role.postgres | |||||
| - galaxy/redis | |||||
| - custom/matrix-corporal | |||||
| - custom/matrix-bridge-appservice-discord | |||||
| - custom/matrix-bridge-appservice-slack | |||||
| - custom/matrix-bridge-appservice-webhooks | |||||
| - custom/matrix-bridge-appservice-irc | |||||
| - custom/matrix-bridge-appservice-kakaotalk | |||||
| - custom/matrix-bridge-beeper-linkedin | |||||
| - custom/matrix-bridge-go-skype-bridge | |||||
| - custom/matrix-bridge-mautrix-facebook | |||||
| - custom/matrix-bridge-mautrix-twitter | |||||
| - custom/matrix-bridge-mautrix-hangouts | |||||
| - custom/matrix-bridge-mautrix-googlechat | |||||
| - custom/matrix-bridge-mautrix-instagram | |||||
| - custom/matrix-bridge-mautrix-signal | |||||
| - custom/matrix-bridge-mautrix-telegram | |||||
| - custom/matrix-bridge-mautrix-whatsapp | |||||
| - custom/matrix-bridge-mautrix-discord | |||||
| - custom/matrix-bridge-mautrix-slack | |||||
| - custom/matrix-bridge-mx-puppet-discord | |||||
| - custom/matrix-bridge-mx-puppet-groupme | |||||
| - custom/matrix-bridge-mx-puppet-steam | |||||
| - custom/matrix-bridge-mx-puppet-slack | |||||
| - custom/matrix-bridge-mx-puppet-twitter | |||||
| - custom/matrix-bridge-mx-puppet-instagram | |||||
| - custom/matrix-bridge-sms | |||||
| - custom/matrix-bridge-heisenbridge | |||||
| - custom/matrix-bridge-hookshot | |||||
| - custom/matrix-bot-matrix-reminder-bot | |||||
| - custom/matrix-bot-matrix-registration-bot | |||||
| - custom/matrix-bot-maubot | |||||
| - custom/matrix-bot-buscarron | |||||
| - custom/matrix-bot-honoroit | |||||
| - custom/matrix-bot-postmoogle | |||||
| - custom/matrix-bot-go-neb | |||||
| - custom/matrix-bot-mjolnir | |||||
| - custom/matrix-bot-draupnir | |||||
| - custom/matrix-bot-chatgpt | |||||
| - custom/matrix-cactus-comments | |||||
| - custom/matrix-rageshake | |||||
| - custom/matrix-synapse | |||||
| - custom/matrix-synapse-auto-compressor | |||||
| - custom/matrix-synapse-reverse-proxy-companion | |||||
| - custom/matrix-dendrite | |||||
| - custom/matrix-conduit | |||||
| - custom/matrix-synapse-admin | |||||
| - galaxy/prometheus_node_exporter | |||||
| - galaxy/prometheus_postgres_exporter | |||||
| - custom/matrix-prometheus-nginxlog-exporter | |||||
| - galaxy/prometheus | |||||
| - galaxy/grafana | |||||
| - custom/matrix-prometheus-services-connect | |||||
| - custom/matrix-prometheus-services-proxy-connect | |||||
| - custom/matrix-registration | |||||
| - custom/matrix-client-element | |||||
| - custom/matrix-client-hydrogen | |||||
| - custom/matrix-client-cinny | |||||
| - galaxy/jitsi | |||||
| - custom/matrix-user-verification-service | |||||
| - custom/matrix-ldap-registration-proxy | |||||
| - custom/matrix-ma1sd | |||||
| - custom/matrix-dimension | |||||
| - galaxy/etherpad | |||||
| - custom/etherpad-proxy-connect | |||||
| - custom/matrix-sliding-sync | |||||
| - custom/matrix-email2matrix | |||||
| - custom/matrix-sygnal | |||||
| - galaxy/ntfy | |||||
| - custom/matrix-nginx-proxy | |||||
| - custom/matrix-coturn | |||||
| - role: galaxy/auxiliary | |||||
| - role: galaxy/com.devture.ansible.role.postgres_backup | |||||
| - role: galaxy/backup_borg | |||||
| - custom/matrix-user-creator | |||||
| - custom/matrix-common-after | |||||
| - role: galaxy/com.devture.ansible.role.container_socket_proxy | |||||
| - role: galaxy/com.devture.ansible.role.traefik | |||||
| - role: galaxy/com.devture.ansible.role.traefik_certs_dumper | |||||
| - when: devture_systemd_service_manager_enabled | bool | |||||
| role: galaxy/com.devture.ansible.role.systemd_service_manager | |||||
| # This is pretty much last, because we want it to better serve as a "last known good configuration". | |||||
| # See: https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/2217#issuecomment-1301487601 | |||||
| - when: devture_playbook_state_preserver_enabled | bool | |||||
| role: galaxy/com.devture.ansible.role.playbook_state_preserver | |||||
| tags: | |||||
| - setup-all | |||||
| - install-all | |||||
| - role: galaxy/com.devture.ansible.role.playbook_runtime_messages | |||||