Provision extra Jitsi JVB services on additional hosts (#2166)
* Add task to configure a standalone JVB on a different server * add missing file * set nginx config * update prosody file and expose port 5222 * change variable name to server id * formatting change * use server id of jvb-1 for the main server * adding documentation * adding more jvbs * rename variable * revert file * fix yaml error * minor doc fixes * renaming tags and introducing a common tag * remove duplicates * add mapping for jvb to hostname/ip * missed a jvb_server * Update roles/matrix-nginx-proxy/templates/nginx/conf.d/matrix-jitsi.conf.j2 Co-authored-by: Slavi Pantaleev <slavi@devture.com> * PR review comments and additional documentation * iterate on dict items * Update docs/configuring-playbook-jitsi.md Co-authored-by: Slavi Pantaleev <slavi@devture.com> * Update docs/configuring-playbook-jitsi.md Co-authored-by: Slavi Pantaleev <slavi@devture.com> * Update docs/configuring-playbook-jitsi.md Co-authored-by: Slavi Pantaleev <slavi@devture.com> * Update docs/configuring-playbook-jitsi.md Co-authored-by: Slavi Pantaleev <slavi@devture.com> * Update docs/configuring-playbook-jitsi.md Co-authored-by: Slavi Pantaleev <slavi@devture.com> * Update docs/configuring-playbook-jitsi.md Co-authored-by: Slavi Pantaleev <slavi@devture.com> * Update docs/configuring-playbook-jitsi.md Co-authored-by: Slavi Pantaleev <slavi@devture.com> * adding documentation around the xmpp setting * add common after * reduce the number of services during init of the additional jvb * remove rogue i * revert change to jitsi init as it's needed * only run the jvb service on the additional jvb host * updating docs * reset default and add documentation about the websocket port * fix issue rather merge with master * add missing role introduced in master * this role is required too * Adding new jitsi jvb playbook, moving setup.yml to matrix.yml and creating soft link * updating documentation * revert accidental change to file * add symlink back to roles to aid running of the jitsi playbook * Remove extra space * Delete useless playbooks/roles symlink * Remove blank lines Co-authored-by: Slavi Pantaleev <slavi@devture.com>pull/2278/head
parent
45c0467745
commit
84c74136ea
14 changed files with 258 additions and 128 deletions
@ -0,0 +1,12 @@ |
||||
--- |
||||
- 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 |
||||
- custom/matrix-jitsi |
||||
- custom/matrix-common-after |
@ -0,0 +1,95 @@ |
||||
--- |
||||
- 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 `make roles` command (see `Makefile`). |
||||
- role: galaxy/com.devture.ansible.role.playbook_help |
||||
|
||||
- role: galaxy/com.devture.ansible.role.systemd_docker_base |
||||
|
||||
- role: custom/matrix_playbook_migration |
||||
|
||||
- when: devture_timesync_installation_enabled | bool |
||||
role: galaxy/com.devture.ansible.role.timesync |
||||
tags: |
||||
- setup-timesync |
||||
- setup-all |
||||
|
||||
- custom/matrix-base |
||||
- custom/matrix-dynamic-dns |
||||
- custom/matrix-mailer |
||||
- custom/matrix-postgres |
||||
- custom/matrix-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-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-cactus-comments |
||||
- custom/matrix-synapse |
||||
- custom/matrix-dendrite |
||||
- custom/matrix-conduit |
||||
- custom/matrix-synapse-admin |
||||
- custom/matrix-prometheus-node-exporter |
||||
- custom/matrix-prometheus-postgres-exporter |
||||
- custom/matrix-prometheus |
||||
- custom/matrix-grafana |
||||
- custom/matrix-registration |
||||
- custom/matrix-client-element |
||||
- custom/matrix-client-hydrogen |
||||
- custom/matrix-client-cinny |
||||
- custom/matrix-jitsi |
||||
- custom/matrix-ldap-registration-proxy |
||||
- custom/matrix-ma1sd |
||||
- custom/matrix-dimension |
||||
- custom/matrix-etherpad |
||||
- custom/matrix-email2matrix |
||||
- custom/matrix-sygnal |
||||
- custom/matrix-ntfy |
||||
- custom/matrix-nginx-proxy |
||||
- custom/matrix-coturn |
||||
- custom/matrix-aux |
||||
- custom/matrix-postgres-backup |
||||
- custom/matrix-backup-borg |
||||
- custom/matrix-user-creator |
||||
- custom/matrix-common-after |
||||
|
||||
# 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 |
||||
|
||||
- role: galaxy/com.devture.ansible.role.playbook_runtime_messages |
@ -0,0 +1,30 @@ |
||||
--- |
||||
|
||||
# We generally support Ansible 2.7.1 and above. |
||||
- name: Fail if running on Ansible < 2.7.1 |
||||
ansible.builtin.fail: |
||||
msg: "You are running on Ansible {{ ansible_version.string }}, which is not supported. See our guide about Ansible: https://github.com/spantaleev/matrix-docker-ansible-deploy/blob/master/docs/ansible.md" |
||||
when: |
||||
- "(ansible_version.major < 2) or (ansible_version.major == 2 and ansible_version.minor < 7) or (ansible_version.major == 2 and ansible_version.minor == 7 and ansible_version.revision < 1)" |
||||
|
||||
# Though we do not support Ansible 2.9.6 which is buggy |
||||
- name: Fail if running on Ansible 2.9.6 on Ubuntu |
||||
ansible.builtin.fail: |
||||
msg: "You are running on Ansible {{ ansible_version.string }}, which is not supported. See our guide about Ansible: https://github.com/spantaleev/matrix-docker-ansible-deploy/blob/master/docs/ansible.md" |
||||
when: |
||||
- ansible_distribution == 'Ubuntu' |
||||
- "ansible_version.major == 2 and ansible_version.minor == 9 and ansible_version.revision == 6" |
||||
|
||||
- name: Fail if using python2 on Archlinux |
||||
ansible.builtin.fail: |
||||
msg: "Detected that you're using python2 when installing onto Archlinux. Archlinux by default only supports python3." |
||||
when: |
||||
- ansible_distribution == 'Archlinux' |
||||
- ansible_python.version.major != 3 |
||||
|
||||
- name: Fail if architecture is set incorrectly |
||||
ansible.builtin.fail: |
||||
msg: "Detected that variable matrix_architecture {{ matrix_architecture }} appears to be set incorrectly. See docs/alternative-architectures.md. Server appears to be {{ ansible_architecture }}." |
||||
when: (ansible_architecture == "x86_64" and matrix_architecture != "amd64") or |
||||
(ansible_architecture == "aarch64" and matrix_architecture != "arm64") or |
||||
(ansible_architecture.startswith("armv") and matrix_architecture != "arm32") |
@ -0,0 +1,5 @@ |
||||
--- |
||||
|
||||
- ansible.builtin.set_fact: |
||||
matrix_systemd_services_list: "{{ ['matrix-jitsi-jvb.service'] }}" |
||||
when: matrix_jitsi_enabled | bool |
@ -1,95 +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 `make roles` command (see `Makefile`). |
||||
- role: galaxy/com.devture.ansible.role.playbook_help |
||||
|
||||
- role: galaxy/com.devture.ansible.role.systemd_docker_base |
||||
|
||||
- role: custom/matrix_playbook_migration |
||||
|
||||
- when: devture_timesync_installation_enabled | bool |
||||
role: galaxy/com.devture.ansible.role.timesync |
||||
tags: |
||||
- setup-timesync |
||||
- setup-all |
||||
|
||||
- custom/matrix-base |
||||
- custom/matrix-dynamic-dns |
||||
- custom/matrix-mailer |
||||
- custom/matrix-postgres |
||||
- custom/matrix-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-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-cactus-comments |
||||
- custom/matrix-synapse |
||||
- custom/matrix-dendrite |
||||
- custom/matrix-conduit |
||||
- custom/matrix-synapse-admin |
||||
- custom/matrix-prometheus-node-exporter |
||||
- custom/matrix-prometheus-postgres-exporter |
||||
- custom/matrix-prometheus |
||||
- custom/matrix-grafana |
||||
- custom/matrix-registration |
||||
- custom/matrix-client-element |
||||
- custom/matrix-client-hydrogen |
||||
- custom/matrix-client-cinny |
||||
- custom/matrix-jitsi |
||||
- custom/matrix-ldap-registration-proxy |
||||
- custom/matrix-ma1sd |
||||
- custom/matrix-dimension |
||||
- custom/matrix-etherpad |
||||
- custom/matrix-email2matrix |
||||
- custom/matrix-sygnal |
||||
- custom/matrix-ntfy |
||||
- custom/matrix-nginx-proxy |
||||
- custom/matrix-coturn |
||||
- custom/matrix-aux |
||||
- custom/matrix-postgres-backup |
||||
- custom/matrix-backup-borg |
||||
- custom/matrix-user-creator |
||||
- custom/matrix-common-after |
||||
|
||||
# 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 |
||||
|
||||
- role: galaxy/com.devture.ansible.role.playbook_runtime_messages |
Loading…
Reference in new issue