Initial vault setup

This commit is contained in:
2026-06-09 18:40:21 +02:00
commit bda02d587f
3692 changed files with 402457 additions and 0 deletions
+119
View File
@@ -0,0 +1,119 @@
---
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