Files
2026-06-09 18:40:21 +02:00

4.2 KiB


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
GitHub 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

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

Pages Liées