120 lines
4.2 KiB
Markdown
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
|