No Description
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

jitsi.yml 2.8KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111
  1. - name: Ensure repository key for Jitsi is in place
  2. apt_key: url=https://download.jitsi.org/jitsi-key.gpg.key state=present
  3. tags:
  4. - dependencies
  5. - name: Add Jitsi repository
  6. apt_repository: repo="deb https://download.jitsi.org stable/"
  7. tags:
  8. - dependencies
  9. - name: Set firewall rules for Jitsi TCP
  10. ufw: rule=allow port={{ item }} proto=tcp
  11. with_items:
  12. - 80
  13. - 443
  14. - 22
  15. - 5349
  16. tags: ufw
  17. - name: Set firewall rules for Jitsi UDP
  18. ufw: rule=allow port={{ item }} proto=udp
  19. with_items:
  20. - 10000
  21. - 3478
  22. tags: ufw
  23. - name: Set Jitsi Certificate Selection
  24. debconf:
  25. name: jitsi-meet
  26. question: jitsi-meet/cert-choice
  27. value: I want to use my own certificate
  28. vtype: select
  29. - name: Set Jitsi Certificate Key
  30. debconf:
  31. name: jitsi-meet
  32. question: jitsi-meet/cert-path-key
  33. value: "/etc/letsencrypt/live/{{ domain }}/privkey.pem"
  34. vtype: string
  35. - name: Set Jitsi Certificate
  36. debconf:
  37. name: jitsi-meet
  38. question: jitsi-meet/cert-path-crt
  39. value: "/etc/letsencrypt/live/{{ domain }}/fullchain.pem"
  40. vtype: string
  41. - name: Set Jitsi Hostname
  42. debconf:
  43. name: "{{ item }}"
  44. question: "{{ item }}/jvb-hostname"
  45. value: "{{ jitsi_domain }}"
  46. vtype: string
  47. with_items:
  48. - jitsi-meet
  49. - jitsi-meet-prosody
  50. - jitsi-videobridge
  51. - name: Install Jitsi and dependencies from official repository
  52. apt:
  53. name: "{{ packages }}"
  54. state: present
  55. update_cache: yes
  56. vars:
  57. packages:
  58. - jitsi-meet
  59. tags:
  60. - dependencies
  61. - name: Create the Jitsi Prosody Config
  62. template:
  63. src=etc_prosody_conf.avail_jitsi_domain.cfg.lua.j2
  64. dest=/etc/prosody/conf.avail/{{ jitsi_domain }}.cfg.lua
  65. owner=root
  66. group=root
  67. notify: restart jitsi
  68. - name: Create the Jitsi Config
  69. template:
  70. src=etc_jitsi_meet_jitsi_domain-config.js.j2
  71. dest=/etc/jitsi/meet/{{ jitsi_domain }}-config.js
  72. owner=root
  73. group=root
  74. notify: restart jitsi
  75. - name: Create the Jicofo Config
  76. template:
  77. src=etc_jitsi_jicofo_sip-communicator.properties.j2
  78. dest=/etc/jitsi/jicofo/sip-communicator.properties
  79. owner=root
  80. group=root
  81. notify: restart jitsi
  82. - name: Create the Apache Jitsi sites config files
  83. template:
  84. src=etc_apache2_sites-available_jitsi.j2
  85. dest=/etc/apache2/sites-available/jitsi_{{ item.name }}.conf
  86. owner=root
  87. group=root
  88. with_items: "{{ virtual_domains }}"
  89. notify: restart apache
  90. - name: Enable Apache sites (creates new sites-enabled symlinks)
  91. command: a2ensite jitsi_{{ item }}.conf creates=/etc/apache2/sites-enabled/jitsi_{{ item }}.conf
  92. notify: restart apache
  93. with_items: "{{ virtual_domains | json_query('[*].name') }}"
  94. - name: Create Jitsi accounts
  95. command: prosodyctl register {{ item.name }} {{ jitsi_domain }} {{ item.password }}
  96. with_items: "{{ jitsi_accounts }}"
  97. ignore_errors: True