82 lines
No EOL
3.6 KiB
Markdown
82 lines
No EOL
3.6 KiB
Markdown
- 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
|
||
|
||
---
|
||
|
||
### Consignes diverse
|
||
- 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/ |