---
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](https://github.com/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é)

```yaml
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 :

```bash
# 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

1. **Déployer le backend** derrière HTTPS (Traefik/Caddy).
2. **Créer le compte admin** au premier démarrage.
3. **Configurer les certificats TLS valides** : Discord client **refuse les certs auto-signés**.
4. **Tester la connexion** depuis le client Discord modifié.
5. **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](https://github.com/sharkord/sharkord)
- [Documentation (README)](https://github.com/sharkord/sharkord#readme)
- [Discord API documentation](https://discord.com/developers/docs) — référence pour la compat
- [Tutoriels d'auto-hébergement](https://github.com/sharkord/sharkord/wiki)

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