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

120 lines
4.2 KiB
Markdown

---
title: Spacebar
created: 2026-06-07
updated: 2026-06-07
type: app
tags: [catalogue, messaging, discord-alternative, typescript, nodejs, foss, self-hosted]
confidence: high
contested: false
sources: [https://selfh.st/apps/?tag=Messaging, https://github.com/spacebarchat/server, https://spacebar.chat/]
---
# 💬 Spacebar
> **Un backend open source compatible avec le protocole Discord** : il accepte les clients officiels Discord et les clients tiers, tout en restant 100 % auto-hébergeable et modifiable.
## 📋 Informations Générales
| Champ | Valeur |
| :--- | :--- |
| **Site web** | [spacebar.chat](https://spacebar.chat/) |
| **GitHub** | [spacebarchat/server](https://github.com/spacebarchat/server) |
| **Licence** | AGPL-3.0 |
| **Langage** | TypeScript, Node.js |
| **Étoiles GitHub** | 6.7k ⭐ |
| **Catégorie** | Messaging |
## 📝 Description
**Spacebar** est un **serveur compatible avec l'API Discord** : il implémente une grande partie de la passerelle (Gateway) et de l'API REST de Discord, ce qui permet aux utilisateurs de se connecter avec le **client Discord officiel** (en modifiant un paramètre DNS) ou avec un **client tiers** (Equibop, Vesktop, etc.) vers leur propre instance.
L'objectif du projet est de fournir une **alternative open source à Discord** que n'importe qui peut héberger, auditer et modifier, sans dépendre de l'infrastructure de Discord. C'est la même philosophie que **Revolt**, **Fluxer** ou **Guilded**, mais avec une orientation forte vers la **compatibilité API Discord** plutôt que vers un client propriétaire.
Techniquement, le serveur est en **TypeScript** avec Node.js, stocke les données dans **PostgreSQL** ou **SQLite**, et supporte **Redis** pour le cache. Il gère channels, rôles, permissions, messages, pièces jointes, et de plus en plus de fonctions temps réel. Le projet est jeune mais très actif.
## 🚀 Installation
### Option recommandée : Docker
```yaml
services:
spacebar:
image: ghcr.io/spacebarchat/server:latest
container_name: spacebar
restart: unless-stopped
ports:
- "3001:3001"
environment:
DATABASE_URL: postgres://spacebar:***@db:5432/spacebar
REDIS_URL: redis://redis:6379
ENDPOINT: https://spacebar.example.com/api
CDN: https://cdn.example.com
SPACE_PORT: 3001
depends_on:
- db
- redis
db:
image: postgres:16
restart: unless-stopped
environment:
POSTGRES_DB: spacebar
POSTGRES_USER: spacebar
POSTGRES_PASSWORD: change-me
volumes:
- spacebar_db:/var/lib/postgresql/data
redis:
image: redis:7-alpine
restart: unless-stopped
volumes:
spacebar_db:
```
### Connexion avec le client Discord officiel
Pour pointer le client Discord officiel vers l'instance Spacebar, ajouter dans `/etc/hosts` (ou DNS) :
```
IP_DU_SERVEUR gateway.discord.gg
```
## ⚙️ Configuration Initiale
1. **Créer l'instance** et noter l'URL publique.
2. **Créer le premier utilisateur** via l'API ou un client tiers compatible.
3. **Activer HTTPS** (Traefik ou Caddy) sur le domaine.
4. **Configurer le stockage** des fichiers (CDN local ou S3 compatible).
5. **Tester la Gateway** avec un client compatible (Equibop, Vesktop modifié).
## 🔄 Alternatives
- [[app-fluxer]] — Concurrent, codé en Rust
- **Revolt** — Concurrent, modèle plus mur
- **Guilded** — Concurrent, propriété de Roblox
- [[app-rocket-chat]] — Plateforme plus généraliste
- **Discord** — Référence fermée
## 🔐 Sécurité
- ⚠️ **Comptes Discord réels** : ne pas utiliser ses identifiants Discord personnels, créer un compte local sur l'instance
- ✅ Support de l'authentification par email et 2FA
- ⚠️ HTTPS obligatoire pour la Gateway
- ⚠️ Bien configurer le rate-limiting de l'API
## 📚 Ressources
- [Site officiel](https://spacebar.chat/)
- [GitHub spacebarchat/server](https://github.com/spacebarchat/server)
- [Documentation](https://docs.spacebar.chat/)
- [Clients compatibles](https://github.com/spacebarchat/wiki)
## Pages Liées
- [[cat-messaging]] — Catégorie Messaging
- [[app-fluxer]] — Concurrent, même cible
- [[app-rocket-chat]] — Plateforme plus généraliste
- [[app-traefik]] — Reverse proxy HTTPS
- [[recettes-docker-compose]] — Stack Compose