- geeftlist - kresus - [libretranslate](https://blog.gcn.sh/howtos/installing-libretranslate-using-docker-and-ubuntu) - [RustDesk](https://github.com/rustdesk/rustdesk-server/blob/master/docker-compose.yml) - [Jellyfin](https://jellyfin.org/docs/general/installation/container/) - [Graphhopper](https://github.com/IsraelHikingMap/graphhopper-docker) - [Filesharing](https://github.com/axeloz/filesharing) - [Immich](https://immich.app/) - [HappyDomain](https://www.happydomain.org/en/) - XMPP - HomeAssistant - [SimpleLogin](https://github.com/lhbdhr/simplelogin) - [Plant-it](https://docs.plant-it.org/0.7.4/) - Crowdsec - Ollama - [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/