Commit initial
This commit is contained in:
commit
3e9e513633
6 changed files with 151 additions and 0 deletions
35
README.md
Normal file
35
README.md
Normal file
|
@ -0,0 +1,35 @@
|
|||
# Role : docker_jitsimeet
|
||||
|
||||
## Services fournis
|
||||
|
||||
- main.yml : Installation de jitsimeet sur un serveur docker_host
|
||||
|
||||
## Variables
|
||||
|
||||
Fournir les variables suivantes. Par exemple :
|
||||
|
||||
```yaml
|
||||
docker_jitsimeet_fqdn: jitsimeet.example.com
|
||||
docker_jitsimeet_version: stable-7648-4
|
||||
docker_jitsimeet_data_dir: /data1
|
||||
docker_jitsimeet_service_id: jitsimeet
|
||||
|
||||
docker_jitsimeet_jicofo_auth_password: "coller_ici_jicofo_auth_password"
|
||||
docker_jitsimeet_jvb_auth_password: "coller_ici_jvb_auth_password"
|
||||
docker_jitsimeet_jvb_host_address: 10.11.12.13
|
||||
|
||||
docker_jitsimeet_etherpad_public_url: https://pad.libretic.fr
|
||||
```
|
||||
|
||||
| Option | Valeur par défaut | Description |
|
||||
|---------------------------------------|-------------------|--------------------------------------------------------------------------------------------|
|
||||
| docker_jitsimeet_fqdn | | Le fqdn pour accéder à jitsimeet |
|
||||
| docker_jitsimeet_version | | Version de l'image jitsimeet |
|
||||
| docker_jitsimeet_data_dir | | L'emplacement dans lequel se trouvent les volumes de donnees docker pour le service |
|
||||
| docker_jitsimeet_service_id | | Le nom de service souhaité : conditionne le nommage des dossiers et le routage par traefik |
|
||||
| docker_jitsimeet_jicofo_auth_password | | Mdp de jicofo ; générer avec `openssl rand -hex 16` |
|
||||
| docker_jitsimeet_jvb_auth_password | | Mdp de jvb ; générer avec `openssl rand -hex 16` |
|
||||
| docker_jitsimeet_jvb_host_address | | Adresse du serveur docker sur lequel écoute le service jvb |
|
||||
| docker_jitsimeet_etherpad_public_url | | Si précisé, indique à Jitsi un serveur sur lequel partager un document par réunion |
|
||||
|
||||
|
0
defaults/main.yml
Normal file
0
defaults/main.yml
Normal file
5
handlers/main.yml
Normal file
5
handlers/main.yml
Normal file
|
@ -0,0 +1,5 @@
|
|||
- name: docker-compose-up
|
||||
shell: |
|
||||
docker-compose up -d
|
||||
args:
|
||||
chdir: /opt/{{ docker_jitsimeet_service_id }}/
|
8
meta/main.yml
Normal file
8
meta/main.yml
Normal file
|
@ -0,0 +1,8 @@
|
|||
galaxy_info:
|
||||
author: Olivier Navas
|
||||
description: Modèle d'installation Libretic pour jitsimeet
|
||||
license: GPL-3.0-only
|
||||
min_ansible_version: 2.9
|
||||
galaxy_tags: []
|
||||
|
||||
dependencies: []
|
17
tasks/main.yml
Normal file
17
tasks/main.yml
Normal file
|
@ -0,0 +1,17 @@
|
|||
- name: docker directory
|
||||
file:
|
||||
path: /opt/{{ docker_jitsimeet_service_id }}/
|
||||
state: directory
|
||||
|
||||
- name: prepare docker-compose.yml
|
||||
template:
|
||||
src: "{{ item }}"
|
||||
dest: /opt/{{ docker_jitsimeet_service_id }}/
|
||||
with_items:
|
||||
- docker-compose.yml
|
||||
notify: docker-compose-up
|
||||
|
||||
|
||||
|
||||
|
||||
|
86
templates/docker-compose.yml
Normal file
86
templates/docker-compose.yml
Normal file
|
@ -0,0 +1,86 @@
|
|||
# {{ ansible_managed }}
|
||||
version: '3.5'
|
||||
|
||||
services:
|
||||
# Frontend
|
||||
web:
|
||||
image: jitsi/web:{{ docker_jitsimeet_version }}
|
||||
restart: always
|
||||
volumes:
|
||||
- {{ 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 }}/transcripts:/usr/share/jitsi-meet/transcripts
|
||||
environment:
|
||||
- PUBLIC_URL=https://{{ docker_jitsimeet_fqdn }}
|
||||
- JICOFO_AUTH_PASSWORD={{ docker_jitsimeet_jicofo_auth_password }}
|
||||
{% if docker_jitsimeet_etherpad_public_url is defined %}
|
||||
- ETHERPAD_PUBLIC_URL={{ docker_jitsimeet_etherpad_public_url }}
|
||||
{% 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:
|
||||
- jitsimeet
|
||||
- traefik
|
||||
|
||||
# XMPP server
|
||||
prosody:
|
||||
image: jitsi/prosody:{{ docker_jitsimeet_version }}
|
||||
restart: always
|
||||
expose:
|
||||
- '5222'
|
||||
- '5347'
|
||||
- '5280'
|
||||
volumes:
|
||||
- {{ docker_jitsimeet_data_dir }}/{{ docker_jitsimeet_service_id }}/prosody/config:/config
|
||||
- {{ docker_jitsimeet_data_dir }}/{{ docker_jitsimeet_service_id }}/prosody/prosody-plugins-custom:/prosody-plugins-custom
|
||||
environment:
|
||||
- PUBLIC_URL=https://{{ docker_jitsimeet_fqdn }}
|
||||
- JICOFO_AUTH_PASSWORD={{ docker_jitsimeet_jicofo_auth_password }}
|
||||
- JVB_AUTH_PASSWORD={{ docker_jitsimeet_jvb_auth_password }}
|
||||
networks:
|
||||
jitsimeet:
|
||||
aliases:
|
||||
- xmpp.meet.jitsi
|
||||
|
||||
# Focus component
|
||||
jicofo:
|
||||
image: jitsi/jicofo:{{ docker_jitsimeet_version }}
|
||||
restart: always
|
||||
volumes:
|
||||
- {{ docker_jitsimeet_data_dir }}/{{ docker_jitsimeet_service_id }}/jicofo:/config
|
||||
environment:
|
||||
- JICOFO_AUTH_PASSWORD={{ docker_jitsimeet_jicofo_auth_password }}
|
||||
depends_on:
|
||||
- prosody
|
||||
networks:
|
||||
- jitsimeet
|
||||
|
||||
# Video bridge
|
||||
jvb:
|
||||
image: jitsi/jvb:{{ docker_jitsimeet_version }}
|
||||
restart: always
|
||||
ports:
|
||||
- '10000:10000/udp'
|
||||
- '127.0.0.1:8080:8080'
|
||||
volumes:
|
||||
- {{ docker_jitsimeet_data_dir }}/{{ docker_jitsimeet_service_id }}/jvb:/config
|
||||
environment:
|
||||
- PUBLIC_URL=https://{{ docker_jitsimeet_fqdn }}
|
||||
- DOCKER_HOST_ADDRESS={{ docker_jitsimeet_jvb_host_address }}
|
||||
- JVB_AUTH_PASSWORD={{ docker_jitsimeet_jvb_auth_password }}
|
||||
depends_on:
|
||||
- prosody
|
||||
networks:
|
||||
- jitsimeet
|
||||
- jitsivideo
|
||||
|
||||
networks:
|
||||
traefik:
|
||||
external: true
|
||||
jitsimeet:
|
||||
internal: true
|
||||
jitsivideo:
|
Loading…
Reference in a new issue