diff --git a/TODO.md b/TODO.md index b18a43d..7714875 100644 --- a/TODO.md +++ b/TODO.md @@ -16,5 +16,64 @@ - [Authelia](https://www.authelia.com/) +## XMPP + +Je veux créer une **messagerie familiale/amicale moderne basée sur XMPP** avec les caractéristiques suivantes : + +### 1. Objectifs fonctionnels +- **Messagerie multi-appareils** avec archivage (XEP-0280, XEP-0313) +- **Partage de fichiers** (HTTP Upload XEP-0363, XEP-0066, XEP-0231) +- **Audio/vidéo** (Jingle ICE XEP-0166, XEP-0167, XEP-0176, XEP-0334) +- **Fonctionnalités sociales** (XEP-0084, XEP-0082, XEP-0163, XEP-0080) +- **Sécurité avancée** (OMEMO XEP-0384, Device List XEP-0414, XEP-0373, XEP-0374) +- **Organisation des conversations** (MUC XEP-0045, XEP-0288, XEP-0422, XEP-0313) +- Compléments : XEP-0224, XEP-0047, XEP-0136, XEP-0297 + +--- + +### 2. Architecture du stack + +- **Prosody** : container Docker avec tous les modules natifs + modules communautaires (installés depuis l’hôte) +- **coturn** : serveur STUN/TURN accessible depuis Internet pour traversée NAT +- **sslh** : multiplexe le port 443 pour HTTPS (BOSH/WebSocket), XMPP (5222), et SSH +- **Traefik** : déjà existant dans un autre container, besoin d'ajouter les labels necessaires pour Prosody et coturn + +--- + +### 3. Contraintes techniques + +- **Pas de fédération XMPP** (pas de port 5269 ouvert) +- **HTTPS et BOSH/WebSocket** passent par sslh → Prosody écoute en localhost uniquement (8443 interne pour HTTPS/BOSH, 5222 pour XMPP) +- **Modules Prosody** doivent inclure tous les XEP listés ci-dessus +- **Volumes Docker persistants** pour données, logs, fichiers uploadés +- **Configuration coturn** avec TLS/STUN/TURN, utilisable par Prosody pour Jingle ICE + +--- + +### 4. Livrables attendus + +1. **Docker Compose complet** pour Prosody et coturn, avec sslh en host ou container séparé, utilisant le réseau interne Docker +2. **Configuration Prosody** complète : + - VirtualHost + - Modules natifs + communautaires + - HTTP Upload intégré + - BOSH/WebSocket configuré pour SSL interne + - Jingle ICE configuré avec coturn +3. **Configuration coturn** sécurisée et accessible depuis Internet +4. **Script shell pour installer automatiquement tous les modules communautaires** depuis l’hôte +5. **Configuration sslh** pour multiplexage : + - Port 443 → HTTPS (8443 interne), XMPP (5222), SSH (22) +6. **Explication complète des interactions** entre chaque composant, logique de routage, sécurité et flux des données +7. **Conseils de sécurité et bonnes pratiques** pour un usage familial/amical + + +Assure toi de la cohérence pour Prosody, BOSH/WebSocket et Coturn. +Coturn exposé STUN/UDP + TURN/TLS TCP, accessible depuis Internet. +Volumes persistants pour données, fichiers uploadés, modules et certificats sur /srv/docker/xmpp/[prosody][coturn][...] +--- + +💡 **Objectif final** : un **stack Docker XMPP complet, moderne, sécurisé et prêt à déployer**, avec Prosody, coturn, sslh pour multiplexage HTTPS/XMPP/SSH, et modules XEP avancés pour messagerie, fichiers, audio/vidéo, et social. + + ## List - https://selfh.st/apps/ \ No newline at end of file