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

113 lines
5.2 KiB
Markdown

---
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](https://snikket.org/) |
| **GitHub** | [snikket-im/snikket-server](https://github.com/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)
```bash
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)
```yaml
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
1. **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.
2. **Lancer le script d'installation** : il crée le `.env`, démarre les conteneurs, génère les certificats.
3. **Créer le premier compte admin** via l'interface web `https://snikket.example.com`.
4. **Générer des liens d'invitation** depuis l'admin : `+ Inviter un contact`, partagez le lien par e-mail/SMS.
5. **Tester la fédération** : depuis un compte Snikket, ajoutez un contact sur `jabber.org` ou `disroot.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](https://snikket.org/)
- [GitHub snikket-im/snikket-server](https://github.com/snikket-im/snikket-server)
- [Documentation d'auto-hébergement](https://snikket.org/service/about/installation/)
- [Conversations.im — clients mobiles](https://conversations.im/)
## 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