Initial vault setup
This commit is contained in:
@@ -0,0 +1,126 @@
|
||||
---
|
||||
title: Stoat
|
||||
created: 2026-06-07
|
||||
updated: 2026-06-07
|
||||
type: app
|
||||
tags: [catalogue, messaging, chat, discord-alternative, revolt-fork, typescript, foss]
|
||||
confidence: high
|
||||
contested: false
|
||||
sources: [https://selfh.st/apps/?tag=Messaging, https://github.com/stoatchat/stoat, https://stoat.chat/]
|
||||
---
|
||||
|
||||
# 💬 Stoat
|
||||
|
||||
> **Le fork moderne de Revolt** : une alternative open-source à Discord, légère, rapide et respectueuse de la vie privée. Stoat reprend l'API et l'UX de Revolt tout en relançant activement le développement communautaire.
|
||||
|
||||
## 📋 Informations Générales
|
||||
|
||||
| Champ | Valeur |
|
||||
| :--- | :--- |
|
||||
| **Site web** | [stoat.chat](https://stoat.chat/) |
|
||||
| **GitHub** | [stoatchat/stoat](https://github.com/stoatchat/stoat) |
|
||||
| **Licence** | AGPL-3.0 |
|
||||
| **Langage** | TypeScript, Rust |
|
||||
| **Étoiles GitHub** | 3.1k ⭐ |
|
||||
| **Catégorie** | Messaging |
|
||||
|
||||
## 📝 Description
|
||||
|
||||
**Stoat** est né en 2024 comme un **fork communautaire de Revolt**, après que le projet original a ralenti son développement. L'objectif est clair : proposer une plateforme de chat type **Discord** (serveurs, salons textuels et vocaux, MD, bots, émojis personnalisés, rôles) mais **100% open-source**, **auto-hébergeable** et **respectueuse de la vie privée** (pas de télémétrie, pas de pistage publicitaire).
|
||||
|
||||
L'écosystème est composé d'un **backend en Rust** (performances, faible empreinte mémoire), d'un **client web React**, et d'apps natives en cours de finalisation pour **iOS, Android, macOS, Windows, Linux**. Stoat expose une **API REST + WebSocket** compatible avec l'écosystème de bots Revolt existant, ce qui permet de réutiliser une grande partie des intégrations déjà écrites.
|
||||
|
||||
Côté fédération, Stoat vise à terme un modèle **ActivityPub** pour interoperer avec Mastodon et le fediverse, bien que cette roadmap soit encore en cours. Pour un usage en équipe ou en communauté de taille moyenne (jusqu'à quelques milliers d'utilisateurs), c'est aujourd'hui l'une des alternatives les plus accessibles et ergonomiques à Discord.
|
||||
|
||||
## 🚀 Installation
|
||||
|
||||
### Via Docker (recommandé)
|
||||
|
||||
```yaml
|
||||
services:
|
||||
stoat-backend:
|
||||
image: ghcr.io/stoatchat/stoat-backend:latest
|
||||
container_name: stoat-backend
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
DATABASE_URL: postgres://stoat:stoat@db:5432/stoat
|
||||
REDIS_URL: redis://redis:6379
|
||||
JANET_URL: http://janet:8080
|
||||
SUMMEROFLOVE_URL: http://summer:4000
|
||||
ROCKET_API_URL: http://localhost:14702
|
||||
ROCKET_PROXY_URL: http://localhost:14701
|
||||
HOST_URL: https://stoat.example.com
|
||||
SUMMEROFLOVE_HOST_URL: wss://voice.example.com
|
||||
depends_on: [db, redis, janet, summer]
|
||||
ports: ["14702:14702"]
|
||||
|
||||
stoat-web:
|
||||
image: ghcr.io/stoatchat/stoat-web:latest
|
||||
container_name: stoat-web
|
||||
restart: unless-stopped
|
||||
ports: ["5173:5173"]
|
||||
|
||||
db:
|
||||
image: postgres:16-alpine
|
||||
environment:
|
||||
POSTGRES_USER: stoat
|
||||
POSTGRES_PASSWORD: stoat
|
||||
POSTGRES_DB: stoat
|
||||
volumes: [stoat_db:/var/lib/postgresql/data]
|
||||
|
||||
redis:
|
||||
image: redis:7-alpine
|
||||
|
||||
janet:
|
||||
image: ghcr.io/stoatchat/janet:latest
|
||||
ports: ["8080:8080"]
|
||||
|
||||
summer:
|
||||
image: ghcr.io/stoatchat/summeroflove:latest
|
||||
ports: ["4000:4000"]
|
||||
|
||||
volumes:
|
||||
stoat_db:
|
||||
```
|
||||
|
||||
### Binaire natif
|
||||
|
||||
Des releases pré-compilées pour Linux (x86_64, ARM64) sont disponibles sur la page [Releases GitHub](https://github.com/stoatchat/stoat/releases). L'installation manuelle reste réservée aux utilisateurs avancés.
|
||||
|
||||
## ⚙️ Configuration Initiale
|
||||
|
||||
1. **Déployer le backend** derrière un reverse proxy HTTPS (Traefik, Caddy, Nginx).
|
||||
2. **Créer le compte administrateur** via l'API ou le formulaire d'inscription (premier compte = admin).
|
||||
3. **Configurer SMTP** (variable d'environnement) pour les e-mails de vérification et de réinitialisation.
|
||||
4. **Brancher le service vocal** (Summer-of-Love) sur un sous-domaine dédié pour la voix.
|
||||
5. **Personnaliser thème, NSFW, et quotas** via le fichier de configuration.
|
||||
|
||||
## 🔄 Alternatives
|
||||
|
||||
- **Revolt** — Projet originel, développement plus lent
|
||||
- **Spacebar** — Implémentation compatible Discord en TypeScript
|
||||
- **Rocket.Chat** — Solution plus orientée entreprise/teams
|
||||
- **Element / Matrix** — Plus décentralisé, UX moins "Discord-like"
|
||||
- **Zulip** — Organisation par topics, pas de salons vocaux persistants
|
||||
|
||||
## 🔐 Sécurité
|
||||
|
||||
- ✅ Chiffrement **E2E optionnel** pour les messages privés (en cours de généralisation)
|
||||
- ✅ Stockage des données utilisateur en PostgreSQL, hébergement sous votre contrôle
|
||||
- ⚠️ Le backend **fait confiance aux clients** (comme Discord) : l'admin serveur peut techniquement lire les messages
|
||||
- ⚠️ Prévoir **rate-limiting** agressif sur l'API et **modération** (bots anti-spam recommandés)
|
||||
|
||||
## 📚 Ressources
|
||||
|
||||
- [Site officiel](https://stoat.chat/)
|
||||
- [GitHub stoatchat/stoat](https://github.com/stoatchat/stoat)
|
||||
- [Documentation auto-hébergement](https://docs.stoat.chat/)
|
||||
- [Communauté Discord Stoat](https://discord.gg/stoat)
|
||||
|
||||
## Pages Liées
|
||||
|
||||
- [[cat-messaging]] — Catégorie Messaging
|
||||
- [[app-rocket-chat]] — Alternative plus orientée entreprise
|
||||
- [[app-traefik]] — Reverse proxy HTTPS pour backend + web
|
||||
- [[securisation-home-lab]] — Hardening serveur
|
||||
- [[recettes-docker-compose]] — Patterns Compose
|
||||
Reference in New Issue
Block a user