Files
wiki/Catalogue-Self-Hosted/apps/app-mirotalk.md
T
2026-06-09 18:40:21 +02:00

87 lines
3.1 KiB
Markdown

---
title: MiroTalk
created: 2026-06-08
updated: 2026-06-08
type: app
tags: [catalogue, video-conferencing, webrtc, p2p, app-marathon-batch-rattrapage-3]
confidence: medium
contested: false
sources: [https://selfh.st/apps/?tag=Video+Conferencing, https://mirotalk.org]
---
# 📞 MiroTalk
> **Visioconférence WebRTC ultra-légère** : SFU et P2P, sans dépendance, app standalone ou embed. Le « Jitsi minimaliste » en Node.js.
## 📋 Informations Générales
| Champ | Valeur |
| :--- | :--- |
| **Site web** | [mirotalk.org](https://mirotalk.org) |
| **GitHub** | [miroslavpejic85/mirotalk](https://github.com/miroslavpejic85/mirotalk) |
| **License** | MIT |
| **Langage** | JavaScript (Node.js + WebRTC natif) |
| **Étoiles GitHub** | 2.5k ⭐ |
| **Catégorie** | [[cat-video-conferencing|Video Conferencing]] |
## 📝 Description
**MiroTalk** est une **stack de visioconférence WebRTC écrite en Node.js** sans dépendance lourde. Plusieurs variantes : `mirotalk` (réunion), `mirotalk-sfu` (SFU scalable), `mirotalk-p2p` (P2P), `mirotalk-whiteboard` (tableau blanc). Démarrage d'une réunion en 1 clic, sans compte, partage d'écran, chat, recording.
**Différence avec Jitsi Meet** : Jitsi = stack complexe (XMPP, Jicofo, JVB, Prosody) ; MiroTalk = **app Node.js monolithique**, beaucoup plus simple à déployer, mais moins scalable (P2P limité à ~10 participants par salle).
**Différence avec BigBlueButton** : BBB est pédagogique ; MiroTalk est une **visio générique simple**.
**Pour qui** : devs qui veulent une **visioconférence auto-hébergeable minimaliste** pour < 20 personnes.
## 🚀 Installation
### Docker Compose (mirotalk SFU)
```yaml
version: '3.8'
services:
mirotalk-sfu:
image: mirotalk/sfu:latest
container_name: mirotalk-sfu
restart: unless-stopped
ports:
- "3050:3000"
- "40000-40100:40000-40100/udp" # mediasoup
labels:
- "traefik.enable=true"
- "traefik.http.routers.mirotalk.rule=Host(`mirotalk.example.com`)"
- "traefik.http.routers.mirotalk.entrypoints=websecure"
- "traefik.http.routers.mirotalk.tls.certresolver=letsencrypt"
```
## 🔄 Alternatives
### Open Source
- [[app-jitsi-meet]] — Standard WebRTC
- [[app-bigbluebutton]] — Pédagogique
- [[app-lasuite-meet]] — Fork DINUM
- [[app-opentalk]] — Stack allemande
### Propriétaires
- **Jitsi as a Service** (8x8) — Jitsi managé
- **Whereby Embedded** — Embed SaaS
- **Daily.co** — Embed WebRTC
## 🔐 Sécurité
- **P2P** : flux direct entre participants, jamais par serveur (donc pas de MITM possible côté serveur).
- **Pas d'auth par défaut** : salle = URL publique ; restreindre via `ALLOWED_IPS` env var.
- **HTTPS** obligatoire (Traefik).
- **UDP mediasoup** : plage 40000-40100 à ouvrir.
## 📚 Ressources
- [Site officiel](https://mirotalk.org)
- [GitHub](https://github.com/miroslavpejic85/mirotalk)
- [Démo](https://sfu.mirotalk.org)
## Pages Liées
- [[cat-video-conferencing]] — Catégorie Vidéo
- [[app-jitsi-meet]] — Concurrent
- [[app-lasuite-meet]] — Concurrent FR
- [[recettes-docker-compose]] — Templates Docker