Changements d'implantation jitsi

This commit is contained in:
Navas 2024-07-02 10:23:14 +02:00
parent 9ed0546dd9
commit c5ce859fde
5 changed files with 40 additions and 29 deletions

View file

@ -1,6 +1,6 @@
# Role : docker_jitsimeet # Role : docker_jitsimeet
Installation de jitsimeet sur un serveur docker_host Installation de jitsimeet sur un serveur docker_host sans traefik
## Variables ## Variables
@ -23,6 +23,15 @@ docker_jitsimeet_jvb_auth_password: "coller_ici_jvb_auth_password"
docker_jitsimeet_jvb_host_address: 10.11.12.13 docker_jitsimeet_jvb_host_address: 10.11.12.13
``` ```
## Certificat
La gestion d'un certificat est désactivée par défaut.
Pour l'activer, fournir les variables suivantes :
```yaml
docker_jitsimeet_letsencrypt_enabled: true
docker_jitsimeet_letsencrypt_email: adresse_pour_letsencrypt@example.com
```
## Notes de réunion ## Notes de réunion
Pour utiliser un serveur etherpad comme support de notes collectives à la réunion, ajouter les variables suivantes : Pour utiliser un serveur etherpad comme support de notes collectives à la réunion, ajouter les variables suivantes :

View file

@ -2,3 +2,4 @@ docker_jitsimeet_etherpad_enabled: false
docker_jitsimeet_turnserver_enabled: false docker_jitsimeet_turnserver_enabled: false
docker_jitsimeet_exporter_enabled: false docker_jitsimeet_exporter_enabled: false
docker_jitsimeet_exporter_port: "9888" docker_jitsimeet_exporter_port: "9888"
docker_jitsimeet_letsencrypt_enabled: false

View file

@ -1,7 +1,7 @@
galaxy_info: galaxy_info:
author: Olivier Navas author: Olivier Navas
description: Modèle d'installation Libretic pour jitsimeet description: Modèle d'installation Libretic pour jitsimeet
license: GPL-3.0-only license: MIT
min_ansible_version: 2.9 min_ansible_version: 2.9
galaxy_tags: [] galaxy_tags: []

View file

@ -1,17 +1,22 @@
- name: docker directory - name: Docker directory
file: ansible.builtin.file:
path: /opt/{{ docker_jitsimeet_service_id }}/ path: /opt/{{ docker_jitsimeet_service_id }}/
state: directory state: directory
- name: prepare docker-compose.yml - name: Prepare docker-compose.yml
template: ansible.builtin.template:
src: "{{ item }}" src: "{{ item }}"
dest: /opt/{{ docker_jitsimeet_service_id }}/ dest: /opt/{{ docker_jitsimeet_service_id }}/
with_items: with_items:
- docker-compose.yml - docker-compose.yml
notify: docker-compose-up notify: docker-compose-up
- name: Check that turn server is accessible
ansible.builtin.wait_for:
host: "{{ docker_jitsimeet_turnserver_fqdn }}"
port: "{{ docker_jitsimeet_turnserver_port }}"
state: started
delay: 0
timeout: 1
when:
- docker_jitsimeet_turnserver_enabled is true

View file

@ -1,30 +1,32 @@
# {{ ansible_managed }} # {{ ansible_managed }}
version: '3.5'
services: services:
# Frontend # Frontend
web: web:
image: jitsi/web:{{ docker_jitsimeet_version }} image: jitsi/web:{{ docker_jitsimeet_version }}
restart: always restart: always
ports:
- 80:80
- 443:443
volumes: volumes:
- {{ docker_jitsimeet_data_dir }}/{{ docker_jitsimeet_service_id }}/web:/config - {{ docker_jitsimeet_data_dir }}/{{ docker_jitsimeet_service_id }}/web:/config
- {{ docker_jitsimeet_data_dir }}/{{ docker_jitsimeet_service_id }}/web/crontabs:/var/spool/cron/crontabs - {{ docker_jitsimeet_data_dir }}/{{ docker_jitsimeet_service_id }}/web/crontabs:/var/spool/cron/crontabs
- {{ docker_jitsimeet_data_dir }}/{{ docker_jitsimeet_service_id }}/transcripts:/usr/share/jitsi-meet/transcripts - {{ docker_jitsimeet_data_dir }}/{{ docker_jitsimeet_service_id }}/transcripts:/usr/share/jitsi-meet/transcripts
environment: environment:
{% if docker_jitsimeet_letsencrypt_enabled %}
- ENABLE_LETSENCRYPT=1
- LETSENCRYPT_DOMAIN={{ docker_jitsimeet_fqdn }}
- LETSENCRYPT_EMAIL={{ docker_jitsimeet_letsencrypt_email }}
{% endif %}
- PUBLIC_URL=https://{{ docker_jitsimeet_fqdn }} - PUBLIC_URL=https://{{ docker_jitsimeet_fqdn }}
- ENABLE_HTTP_REDIRECT=1
- JICOFO_AUTH_PASSWORD={{ docker_jitsimeet_jicofo_auth_password }} - JICOFO_AUTH_PASSWORD={{ docker_jitsimeet_jicofo_auth_password }}
{% if docker_jitsimeet_etherpad_enabled %} {% if docker_jitsimeet_etherpad_enabled %}
- ETHERPAD_PUBLIC_URL={{ docker_jitsimeet_etherpad_public_url }} - ETHERPAD_PUBLIC_URL={{ docker_jitsimeet_etherpad_public_url }}
{% endif %} {% endif %}
labels:
- "traefik.enable=true"
- "traefik.docker.network=traefik"
- "traefik.http.routers.{{ docker_jitsimeet_service_id }}.entrypoints=web"
- "traefik.http.routers.{{ docker_jitsimeet_service_id }}.rule=Host(`{{ docker_jitsimeet_fqdn }}`)"
- "traefik.http.services.{{ docker_jitsimeet_service_id }}.loadbalancer.server.port=80"
networks: networks:
- jitsimeet jitsimeet:
- traefik depends_on:
- jvb
# XMPP server # XMPP server
prosody: prosody:
@ -63,7 +65,7 @@ services:
depends_on: depends_on:
- prosody - prosody
networks: networks:
- jitsimeet jitsimeet:
# Video bridge # Video bridge
jvb: jvb:
@ -87,8 +89,7 @@ services:
depends_on: depends_on:
- prosody - prosody
networks: networks:
- jitsimeet jitsimeet:
- jitsivideo
{% if docker_jitsimeet_exporter_enabled %} {% if docker_jitsimeet_exporter_enabled %}
exporter: exporter:
@ -100,13 +101,8 @@ services:
depends_on: depends_on:
- jvb - jvb
networks: networks:
- jitsivideo jitsimeet:
- traefik
{% endif %} {% endif %}
networks: networks:
traefik:
external: true
jitsimeet: jitsimeet:
internal: true
jitsivideo: