Initial vault setup
This commit is contained in:
@@ -0,0 +1,119 @@
|
||||
---
|
||||
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
|
||||
Reference in New Issue
Block a user