5.2 KiB
title: Snikket created: 2026-06-07 updated: 2026-06-07 type: app tags: [catalogue, messaging, xmpp, famille, jami-friendly, foss, docker] confidence: high contested: false sources: [https://selfh.st/apps/?tag=Messaging, https://github.com/snikket-im/snikket-server, https://snikket.org/]
💬 Snikket
XMPP rendu simple pour les familles et les groupes : Snikket est une distribution XMPP clé-en-main, avec un serveur Dockerisé facile à installer, des clients mobiles (Android/iOS) et de bureau conviviaux, et un assistant d'onboarding qui guide les non-techniciens. Le but : faire de XMPP la messagerie de Monsieur Tout-le-monde.
📋 Informations Générales
| Champ | Valeur |
|---|---|
| Site web | snikket.org |
| GitHub | snikket-im/snikket-server |
| Licence | MIT (serveur), Apache-2.0 (clients) |
| Langage | Python, Shell |
| Étoiles GitHub | 425 ⭐ |
| Catégorie | Messaging |
📝 Description
Snikket est un projet de l'équipe derrière Conversations.im (le client Android de référence pour XMPP). Le constat : XMPP est un protocole puissant, mature et fédéré, mais sa mise en œuvre reste un cauchemar pour les non-spécialistes. Snikket emballe donc tout — serveur Prosody préconfiguré, clients dédiés (Snikket pour Android/iOS, web, desktop), DNS auto-hébergé, certificats Let's Encrypt automatisés — dans une expérience packagée.
Le résultat : en une heure, on peut déployer un serveur XMPP familial sur un petit VPS, créer des comptes pour les grands-parents et les enfants via un lien d'invitation, et leur envoyer un QR code à scanner pour installer l'app mobile. Aucune configuration réseau à connaître, aucune ligne de commande.
Fonctionnalités XMPP classiques : 1:1 et salons de groupe (MUC), chiffrement E2E (OMEMO + OTR), partage de fichiers, appels audio/vidéo (Jingle), multi-appareils, fédération XMPP (votre instance peut parler à n'importe quel serveur XMPP), archivage local (MAM). Le tout sans compte central ni téléphone requis.
🚀 Installation
Pré-requis
Un VPS Linux (Debian/Ubuntu recommandé) avec Docker installé, et un domaine (ex: snikket.example.com) dont vous contrôlez le DNS.
Script d'installation officiel (le plus simple)
curl -sLO https://snikket-im.github.io/snikket-installer/bootstrap.sh
chmod +x bootstrap.sh
./bootstrap.sh
# Le script interactif demande : domaine, e-mail admin, génère le .env
docker-compose.yml (manuellement)
services:
snikket:
image: snikketim/snikket-server:latest
container_name: snikket
restart: unless-stopped
volumes:
- snikket_data:/snikket
environment:
SNIKKET_DOMAIN: snikket.example.com
SNIKKET_ADMIN_EMAIL: admin@example.com
ports:
- "80:80" # Let's Encrypt HTTP-01 challenge
- "443:443" # XMPP c2s + BOSH + WebSocket + HTTPS web
- "5000:5000" # XMPP s2s (fédération)
sysctls:
net.core.rmem_max: 26214400
net.core.wmem_max: 26214400
volumes:
snikket_data:
⚙️ Configuration Initiale
- Configurer le DNS :
snikket.example.com(A/AAAA),groups.snikket.example.com(CNAME),_acme-challenge(TXT) — le script le fait si vous utilisez un provider compatible. - Lancer le script d'installation : il crée le
.env, démarre les conteneurs, génère les certificats. - Créer le premier compte admin via l'interface web
https://snikket.example.com. - Générer des liens d'invitation depuis l'admin :
+ Inviter un contact, partagez le lien par e-mail/SMS. - Tester la fédération : depuis un compte Snikket, ajoutez un contact sur
jabber.orgoudisroot.org.
🔄 Alternatives
- Prosody / ejabberd — Serveurs XMPP bruts, configuration manuelle avancée
- Element / Synapse — Matrix, plus moderne mais plus lourd
- Conversations / Monal — Clients XMPP natifs (utilisables contre tout serveur XMPP)
- Movim — Réseau social sur XMPP, plus orienté publication
- Mattermost — Pas XMPP, mais alternative chat famille/équipe
🔐 Sécurité
- ✅ Chiffrement E2E OMEMO sur les conversations 1:1 et de groupe
- ✅ Chiffrement TLS sur toutes les connexions (c2s, s2s, BOSH, WebSocket)
- ✅ Certificats Let's Encrypt auto-renouvelés
- ⚠️ Le serveur reste une autorité : il connaît les métadonnées (qui parle à qui, quand) — choisir un hébergeur de confiance
- ⚠️ Anti-spam : configurer fail2ban + mod_spam sur Prosody
📚 Ressources
- Site officiel
- GitHub snikket-im/snikket-server
- Documentation d'auto-hébergement
- Conversations.im — clients mobiles
Pages Liées
- cat-messaging — Catégorie Messaging
- app-synapse — Alternative Matrix
- app-traefik — Reverse proxy (non requis, Snikket gère TLS)
- securisation-home-lab — Bonnes pratiques XMPP
- recettes-docker-compose — Stack auto-hébergée