5.0 KiB
title: Sharkord created: 2026-06-07 updated: 2026-06-07 type: app tags: [catalogue, messaging, discord-compat, api, backend, foss, golang] confidence: high contested: false sources: [https://selfh.st/apps/?tag=Messaging, https://github.com/sharkord/sharkord]
💬 Sharkord
Un backend Discord-compatible : Sharkord réimplémente l'API et le protocole de Discord pour vous permettre d'héberger un "Discord maison" tout en gardant la compatibilité avec les clients Discord officiels (bureau, web, mobile) et l'écosystème de bots.
📋 Informations Générales
| Champ | Valeur |
|---|---|
| Site web | sharkord (GitHub) |
| GitHub | sharkord/sharkord |
| Licence | MIT |
| Langage | Go, TypeScript |
| Étoiles GitHub | 1.4k ⭐ |
| Catégorie | Messaging |
📝 Description
Sharkord est un projet ambitieux : réimplémenter le backend de Discord de manière open-source, en respectant au maximum la compatibilité avec l'API Gateway et REST de Discord. L'objectif est de permettre à n'importe qui de déployer un serveur type Discord (serveurs, salons, rôles, émojis, MD, bots) sans dépendre de l'infrastructure propriétaire de Discord.
Pour les utilisateurs finaux, rien ne change : ils continuent d'utiliser le client Discord officiel (qu'ils ont déjà installé), ils se connectent à votre instance Sharkord à la place de discord.com, et toutes les fonctionnalités de base du client fonctionnent normalement. Côté bots, la compatibilité API permet de réutiliser l'immense écosystème de bots Discord existants (MEE6, Dyno, custom bots en discord.js/Discord.py, etc.).
L'avantage de cette approche par rapport à un Rocket.Chat ou un Matrix : pas de nouveau client à apprendre, pas d'app mobile à installer, et une familiarité immédiate pour les utilisateurs. C'est particulièrement pertinent pour les communautés qui migrent loin de Discord pour des raisons de souveraineté ou de coût.
🚀 Installation
Via Docker (recommandé)
services:
sharkord:
image: ghcr.io/sharkord/sharkord:latest
container_name: sharkord
restart: unless-stopped
ports:
- "3001:3001" # API REST
- "3002:3002" # Gateway WebSocket
volumes:
- sharkord_data:/data
environment:
SHARKORD_PUBLIC_URL: https://shark.example.com
SHARKORD_JWT_SECRET: $(openssl rand -hex 32)
SHARKORD_ADMIN_EMAIL: admin@example.com
SHARKORD_ADMIN_PASSWORD: CHANGE_ME
DATABASE_URL: postgres://sharkord:***@db:5432/sharkord
db:
image: postgres:16-alpine
environment:
POSTGRES_USER: sharkord
POSTGRES_PASSWORD: CHANGE_ME
POSTGRES_DB: sharkord
volumes: [sharkord_db:/var/lib/postgresql/data]
volumes:
sharkord_data:
sharkord_db:
Connexion depuis le client Discord
Pour pointer le client Discord officiel vers votre instance, il faut utiliser la variable d'environnement :
# Linux/macOS
discord --remote-debugging-port=9222
# Puis dans les DevTools, configurer l'API endpoint
Ou utiliser un proxy DNS qui résout discord.com vers votre instance (avancé, attention aux implications légales selon les pays).
⚙️ Configuration Initiale
- Déployer le backend derrière HTTPS (Traefik/Caddy).
- Créer le compte admin au premier démarrage.
- Configurer les certificats TLS valides : Discord client refuse les certs auto-signés.
- Tester la connexion depuis le client Discord modifié.
- Restaurer/créer des salons, rôles, émojis via l'API ou l'interface web admin.
🔄 Alternatives
- Spacebar — Approche similaire, plus mature
- Stoat — Client séparé, plus simple à héberger
- Revolt — UX très proche de Discord, mais client dédié obligatoire
- Rocket.Chat — Pas Discord-compatible, plus orienté équipe
- Mattermost — Plus orienté ops, UX différente de Discord
🔐 Sécurité
- ✅ Code source auditable (MIT, open-source complet)
- ✅ Aucun compte requis chez Discord : les identités vivent dans votre instance
- ⚠️ Compatibilité API = surface d'attaque = à surveiller de près (les vulnérabilités qui touchent Discord peuvent vous concerner)
- ⚠️ Stockage des messages : en clair côté serveur par défaut (comme Discord original)
- ⚠️ Toujours exécuter derrière un reverse proxy durci et appliquer les mises à jour rapidement
📚 Ressources
- GitHub sharkord/sharkord
- Documentation (README)
- Discord API documentation — référence pour la compat
- Tutoriels d'auto-hébergement
Pages Liées
- cat-messaging — Catégorie Messaging
- app-spacebar — Alternative Discord-compatible
- app-traefik — Reverse proxy HTTPS
- securisation-home-lab — Hardening
- recettes-docker-compose — Patterns Compose