diff --git a/host_vars/imio2.komuniki.fr.yml b/host_vars/imio2.komuniki.fr.yml deleted file mode 100644 index 63d5869..0000000 --- a/host_vars/imio2.komuniki.fr.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -jitsi_logo: visio.imio.be.svg -jitsi_logo_url: https://imio.be -jitsi_multidomain_domain: ['imio2-cpas.komuniki.fr'] \ No newline at end of file diff --git a/host_vars/jitsi.komuniki.fr.yml b/host_vars/jitsi.komuniki.fr.yml index ad00633..005dc6b 100644 --- a/host_vars/jitsi.komuniki.fr.yml +++ b/host_vars/jitsi.komuniki.fr.yml @@ -1,8 +1,6 @@ --- ansible_user: debian ansible_become: true -jitsi_logo: jitsi.komuniki.fr.svg -jitsi_logo_url: https://komuniki.fr jigasi_sip_account: 0033972551042@sip5.ovh.fr jigasi_sip_password: "{{ vault_jigasi_sip_password }}" jigasi_sip_room: machineacafe \ No newline at end of file diff --git a/host_vars/pp.jitsi.komuniki.fr.yml b/host_vars/pp.jitsi.komuniki.fr.yml deleted file mode 100644 index 855c804..0000000 --- a/host_vars/pp.jitsi.komuniki.fr.yml +++ /dev/null @@ -1,6 +0,0 @@ ---- -ansible_user: root -jitsi_logo: jitsi.komuniki.fr.svg -jitsi_logo_url: https://komuniki.fr -coturn_hostname: coturn.komuniki.fr -coturn_secret: "{{ vault_coturn_secret }}" \ No newline at end of file diff --git a/inventory_staging b/inventory_staging index 3967dc9..5dd4891 100644 --- a/inventory_staging +++ b/inventory_staging @@ -1,3 +1,2 @@ pp.jitsi.komuniki.fr -imio2.komuniki.fr ansible_user=root -coturn.komuniki.fr ansible_user=root \ No newline at end of file +jitsi2.komuniki.fr ansible_user=root \ No newline at end of file diff --git a/playbook_prod.yml b/playbook_prod.yml index f8f97b8..419fa48 100644 --- a/playbook_prod.yml +++ b/playbook_prod.yml @@ -4,7 +4,6 @@ - role: jitsi-pre-install - role: jitsi-install - role: jitsi-enable-fr-ln - - role: jitsi-add-logo - role: jitsi-enable-video-optimisation - role: jitsi-enable-metrics - role: jitsi-enable-prejoinPage @@ -21,8 +20,8 @@ - role: jitsi-enable-prejoinPage - role: jitsi-enable-metrics - role: jitsi-enable-fr-ln - - role: jitsi-add-logo - role: jitsi-enable-calendar + - role: jitsi-enable-specific-komuniki tags: - komki diff --git a/playbook_staging.yml b/playbook_staging.yml index 45bc59b..881a0ae 100644 --- a/playbook_staging.yml +++ b/playbook_staging.yml @@ -1,31 +1,12 @@ #Roles possible: cf dossier roles --- -- hosts: pp.jitsi.komuniki.fr +- hosts: jitsi2.komuniki.fr roles: - role: jitsi-pre-install - role: jitsi-install - role: jitsi-enable-prejoinPage - - role: jitsi-enable-external-coturn - - role: jitsi-enable-metrics + - role: jitsi-enable-specific-komuniki - role: jitsi-enable-fr-ln - - role: jitsi-add-logo - role: jitsi-enable-calendar tags: - - ppkomki - -- hosts: imio2.komuniki.fr - roles: - - role: jitsi-pre-install - - role: jitsi-install - - role: jitsi-enable-fr-ln - - role: jitsi-add-logo - - role: jitsi-enable-multidomain - - role: jitsi-enable-specific-imio - tags: - - imio2 - -- hosts: coturn.komuniki.fr - roles: - - role: coturn-install - tags: - - coturn.komki \ No newline at end of file + - ppkomki \ No newline at end of file diff --git a/roles/jitsi-add-logo/files/publik.nereide.fr.svg b/roles/jitsi-add-logo/files/publik.nereide.fr.svg deleted file mode 100644 index 863bd96..0000000 --- a/roles/jitsi-add-logo/files/publik.nereide.fr.svg +++ /dev/null @@ -1,259 +0,0 @@ - - - -image/svg+xml \ No newline at end of file diff --git a/roles/jitsi-add-logo/tasks/main.yml b/roles/jitsi-add-logo/tasks/main.yml deleted file mode 100644 index ab152dd..0000000 --- a/roles/jitsi-add-logo/tasks/main.yml +++ /dev/null @@ -1,20 +0,0 @@ ---- -- name: Upload du logo personnalisé - template: - src: ../files/{{ jitsi_logo }} - dest: /usr/share/jitsi-meet/images/ - mode: u=rw,g=r,o=r - -- name: Application du logo si déclaré dans les variables - lineinfile: - path: /usr/share/jitsi-meet/interface_config.js - regexp: "DEFAULT_LOGO_URL: " - line: "DEFAULT_LOGO_URL: 'images/{{ jitsi_logo }}'," - when: jitsi_logo is defined - -- name: Application de l'url si déclaré dans les variables - lineinfile: - path: /usr/share/jitsi-meet/interface_config.js - regexp: "JITSI_WATERMARK_LINK: " - line: "JITSI_WATERMARK_LINK: '{{ jitsi_logo_url }}'," - when: jitsi_logo_url is defined diff --git a/roles/jitsi-add-logo/files/visio.imio.be.svg b/roles/jitsi-enable-specific-imio/file/visio.imio.be.svg similarity index 100% rename from roles/jitsi-add-logo/files/visio.imio.be.svg rename to roles/jitsi-enable-specific-imio/file/visio.imio.be.svg diff --git a/roles/jitsi-enable-specific-imio/tasks/main.yml b/roles/jitsi-enable-specific-imio/tasks/main.yml index 9473861..981a477 100644 --- a/roles/jitsi-enable-specific-imio/tasks/main.yml +++ b/roles/jitsi-enable-specific-imio/tasks/main.yml @@ -63,4 +63,23 @@ } loop: "{{ jitsi_multidomain_domain }}" notify: - - reload nginx \ No newline at end of file + - reload nginx + +- name: copy du logo + copy: + src: '../file/{{ item[0] }}' + dest: '/usr/share/jitsi-meet/{{ item[1] }}' + owner: root + group: root + mode: '0644' + loop: + - [ 'visio.imio.be.svg' , 'images/' ] + +- name: Adaptation du js + lineinfile: + path: /usr/share/jitsi-meet/interface_config.js + regexp: '{{ item[0] }}' + line: '{{ item[1] }}' + loop: + - [ 'DEFAULT_LOGO_URL: ' , " DEFAULT_LOGO_URL: 'images/visio.imio.be.svg'," ] + - [ 'JITSI_WATERMARK_LINK: ' , " JITSI_WATERMARK_LINK: 'https://imio.be'," ] diff --git a/roles/jitsi-enable-specific-komuniki/file/body.html b/roles/jitsi-enable-specific-komuniki/file/body.html new file mode 100644 index 0000000..ae67be0 --- /dev/null +++ b/roles/jitsi-enable-specific-komuniki/file/body.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/roles/jitsi-enable-specific-komuniki/file/custom.css b/roles/jitsi-enable-specific-komuniki/file/custom.css new file mode 100644 index 0000000..1b6d13f --- /dev/null +++ b/roles/jitsi-enable-specific-komuniki/file/custom.css @@ -0,0 +1,247 @@ +@import url('https://fonts.googleapis.com/css2?family=Quicksand:wght@300;400;500;600&display=swap'); + +html { + font-size: 14px; +} + +body { + font-family: 'Quicksand', sans-serif !important; + height: auto; + overflow: auto; +} + +.welcome .welcome-watermark { + height: auto +} + +.welcome { + background: #7f9cf5; +} + +.welcome .welcome-watermark .watermark.leftwatermark { + width: 270px; + height: 87px; + max-width: none !important; + max-height: none !important; + top: 20px +} + +.welcome .header { + background: none; + align-items: start; + padding: 4rem 2rem; +} + +.welcome .welcome-page-settings .jitsi-icon svg { + border-radius: 3px; + padding: 0.5rem; + background: #4fd1c5 +} + +.welcome .welcome-page-settings .jitsi-icon svg:hover { + background: #7f9cf5 +} + +.welcome .header .header-container { + max-width: 1340px; + margin: 140px auto 0 auto; + padding: 0 +} + +.welcome .header .header-text { + width: 100%; + max-width: 100%; + margin: 6rem 0 2rem 0; +} + +.welcome .header .header-text-title { + text-align: left; + font-size: 1.6rem; +} + +.welcome .header .header-text-subtitle { + font-size: 1.7rem; + font-weight: 400; +} + +.welcome .header .header-text-description { + text-align: left; + font-size: 1.5rem; + line-height: 38px; + display: none +} + +.welcome .header #enter_room { + display: block; + width: 100%; + max-width: calc(100% - 60px); + border-radius: 3px; + background: #e6fffa; + align-items: end; +} + +.welcome .header #enter_room .enter-room-input-container { + padding: 0 2rem 0 0; +} + +.welcome .header #enter_room .enter-room-input-container .enter-room-title { + font-size: 1.2rem; + margin-bottom: 1rem; +} + +.welcome .header #enter_room .enter-room-input-container .enter-room-input { + border-image: none; + padding: 1rem +} + +.meetings-list .button { + background: transparent; + text-decoration: underline; +} + +.meetings-list .button:hover { + color: #B2F5EA; +} + +.welcome .welcome-page-button { + background: #4c51bf; + border-radius: 9999px; + padding: 0.5rem 1.3rem; + text-transform: uppercase; + margin-top: 1rem +} + +.welcome .welcome-page-button:hover { + background: #5a67d8; +} + +.welcome .header .tab-container { + width: 100%; + max-width: 710px; + background-color: transparent; +} + +.welcome .welcome-cards-container { + width: 100%; + max-width: 1340px; + margin: 20px auto 0 auto; + padding: 0 +} + +.welcome .welcome-card-row { + justify-content: start; + padding: 0 +} + +.welcome .header .tab-container .tab-buttons .tab { + border-radius: 999px; + height: 45px; + line-height: 45px; + margin: 0 1rem; + background: #4c51bf; +} + +.welcome .header .tab-container .tab-buttons .tab:hover, +.welcome .header .tab-container .tab-buttons .tab.selected { + background: #5a67d8; +} + +.welcome .welcome-footer { + padding-left: 200px; + background: #e6fffa; + color: #333; + font-size: 1rem; +} + +.welcome .welcome-footer-centered { + max-width: none; +} + +.welcome .welcome-footer-padded::before { + content: "Powered by Jitsi Meet" +} + +.welcome .welcome-footer-row-block { + display: none +} + + +@media (min-width: 768px) { + .welcome .header .header-text-title { + text-align: left; + font-size: 2rem; + } + + .welcome .header .header-text { + max-width: 730px; + } + + .welcome .header .header-text-description { + display: block + } + + +} + +@media (min-width: 992px) { + .welcome { + background-image: url(../images/illustration-visio.png); + background-repeat: no-repeat; + background-position: bottom right; + background-size: 50% auto; + } + + .welcome .header .header-text { + max-width: 880px; + } + + .welcome .header .header-text-title { + font-size: 3rem; + } + + .welcome .header #enter_room { + width: 60%; + max-width: 650px; + display: flex; + } + + .welcome .header .tab-container { + width: calc(60% + 60px) + } + + +} + +@media (min-width: 1200px) { + + + .welcome .header .header-text { + max-width: 1080px; + } + + .welcome .header .header-text-title { + font-size: 3.2rem; + max-width: 60rem; + } + + .welcome .header #enter_room .enter-room-input-container .enter-room-title { + font-size: 1.3rem; + } + +} + +@media (min-width: 1400px) { + + .welcome { + background-size: 45% auto; + } + + .welcome .header { + padding: 6rem 15rem; + } + + .welcome .header .header-text { + max-width: 1350px; + } + +} diff --git a/roles/jitsi-enable-specific-komuniki/file/favicon.ico b/roles/jitsi-enable-specific-komuniki/file/favicon.ico new file mode 100644 index 0000000..05a9768 Binary files /dev/null and b/roles/jitsi-enable-specific-komuniki/file/favicon.ico differ diff --git a/roles/jitsi-enable-specific-komuniki/file/illustration-visio.png b/roles/jitsi-enable-specific-komuniki/file/illustration-visio.png new file mode 100644 index 0000000..31d0f1a Binary files /dev/null and b/roles/jitsi-enable-specific-komuniki/file/illustration-visio.png differ diff --git a/roles/jitsi-enable-specific-komuniki/file/logo-komuniki-txt.svg b/roles/jitsi-enable-specific-komuniki/file/logo-komuniki-txt.svg new file mode 100644 index 0000000..47cc41a --- /dev/null +++ b/roles/jitsi-enable-specific-komuniki/file/logo-komuniki-txt.svg @@ -0,0 +1,172 @@ + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/roles/jitsi-add-logo/files/jitsi.komuniki.fr.svg b/roles/jitsi-enable-specific-komuniki/file/logo-komuniki.svg similarity index 100% rename from roles/jitsi-add-logo/files/jitsi.komuniki.fr.svg rename to roles/jitsi-enable-specific-komuniki/file/logo-komuniki.svg diff --git a/roles/jitsi-enable-specific-komuniki/file/title.html b/roles/jitsi-enable-specific-komuniki/file/title.html new file mode 100644 index 0000000..65793f7 --- /dev/null +++ b/roles/jitsi-enable-specific-komuniki/file/title.html @@ -0,0 +1,9 @@ +Komuniki, réunions en visioconférence + + + + + + + + diff --git a/roles/jitsi-enable-specific-komuniki/tasks/main.yml b/roles/jitsi-enable-specific-komuniki/tasks/main.yml new file mode 100644 index 0000000..b31d63d --- /dev/null +++ b/roles/jitsi-enable-specific-komuniki/tasks/main.yml @@ -0,0 +1,27 @@ +--- +- name: copy des fichiers de personnalisation de la page d'accueil de jitsi + copy: + src: '../file/{{ item[0] }}' + dest: '/usr/share/jitsi-meet/{{ item[1] }}' + owner: root + group: root + mode: '0644' + loop: + - ['body.html', ''] + - ['custom.css', 'css/'] + - ['favicon.ico', 'images/'] + - ['illustration-visio.png', 'images/'] + - ['logo-komuniki-txt.svg', 'images/'] + - ['logo-komuniki.svg', 'images/'] + - ['title.html', ''] + +- name: Adaptation du js + lineinfile: + path: /usr/share/jitsi-meet/interface_config.js + regexp: '{{ item[0] }}' + line: '{{ item[1] }}' + loop: + - ['APP_NAME: ', " APP_NAME: 'Komuniki',"] + - ['DEFAULT_LOGO_URL: ', " DEFAULT_LOGO_URL: 'images/logo-komuniki.svg',"] + - ['DEFAULT_WELCOME_PAGE_LOGO_URL: ', " DEFAULT_WELCOME_PAGE_LOGO_URL: 'images/logo-komuniki-txt.svg',"] + - ['JITSI_WATERMARK_LINK: ', " JITSI_WATERMARK_LINK: 'https://komuniki.fr',"] diff --git a/roles/jitsi-pre-install/tasks/main.yml b/roles/jitsi-pre-install/tasks/main.yml index 8c01d00..ba333b5 100644 --- a/roles/jitsi-pre-install/tasks/main.yml +++ b/roles/jitsi-pre-install/tasks/main.yml @@ -1,9 +1,11 @@ --- -- name: Installation de sshguard, ufw +- name: Installation des prérequis apt: name: - sshguard - ufw + - gnupg2 + - nginx-full update_cache: true state: present @@ -24,16 +26,15 @@ - ['5349','tcp'] - ['5222','tcp'] # XMPP port for recorder -- name: Ajout de la clé GPG pour le depot jitsi +- name: Import de la clé GPG #source: https://jitsi.github.io/handbook/docs/devops-guide/devops-guide-quickstart#add-the-jitsi-package-repository apt_key: - url: http://download.jitsi.org/jitsi-key.gpg.key + id: FFD65A0DA2BEBDEB73D44C8BB4D2D216F1FD7806 + url: https://download.jitsi.org/jitsi-key.gpg.key + keyring: /etc/apt/trusted.gpg.d/jitsi.gpg - name: Ajout du depot jitsi apt_repository: - repo: deb https://download.jitsi.org stable/ - -- name: apt update - apt: + repo: deb [signed-by=/etc/apt/trusted.gpg.d/jitsi.gpg] https://download.jitsi.org stable/ update_cache: true - name: Application du hostname avant installation