4.4 KiB
title, created, updated, type, tags, confidence, contested, sources
| title | created | updated | type | tags | confidence | contested | sources | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Dim | 2026-06-07 | 2026-06-07 | app |
|
high | false |
|
🎬 Dim
Client Discord moderne, open source et self-hosted, avec streaming média enrichi (audio haute qualité, Nitro-like sans abonnement).
📋 Informations Générales
| Attribut | Valeur |
|---|---|
| Nom | Dim |
| Slug | app-dim |
| Description | Frontend Discord auto-hébergeable compatible voice chat, streaming et toutes les fonctionnalités natives |
| Site officiel | https://dim.gg/ |
| Repository | https://github.com/Dusk-Labs/dim |
| Stars | 4 081 ⭐ |
| Licence | MPL-2.0 |
| Langage principal | Rust, TypeScript |
| Catégorie | Media Streaming |
| Tags | [catalogue, media-streaming, dim, discord, chat, video] |
📝 Description
Dim est un client Discord alternatif, développé par Dusk Labs, qui se déploie sur ton propre serveur et se connecte à l'API officielle Discord. Il vise à reproduire l'expérience du client officiel (messages, vocaux, vidéo, partages d'écran, serveurs, MD, threads, custom emojis, slash commands) tout en restant transparent : pas de pub, pas de tracking, et surtout la possibilité de streamer de l'audio haute qualité sans payer Nitro.
L'architecture sépare un backend Rust (gestion WebSocket Discord, chiffrement E2E DAVE des appels vocaux) et un frontend React. Le backend agit comme un proxy léger, le frontend est servi en PWA. Dim est particulièrement apprécié des streamers : qualité audio 96 kbps+ en vocal, streaming custom (RTMP, SRT) via serveur dédié intégré.
Limites : l'API Discord évolue souvent, les builds peuvent casser temporairement ; la modération avancée (auto-mod) est moins complète que dans le client officiel ; la documentation reste en chantier sur certains modules.
🚀 Installation
Via Docker (recommandé)
# docker-compose.yml
version: "3.8"
services:
dim:
image: ghcr.io/dusk-labs/dim:latest
container_name: dim
restart: unless-stopped
ports:
- "8000:8000" # Interface web
- "50000:50000/udp" # mediasoup RTP
environment:
DIM_API_URL: https://api.dim.gg
DIM_PUBLIC_URL: https://dim.example.com
DIM_BIND_ADDRESS: 0.0.0.0:8000
volumes:
- ./config:/app/config
Installation manuelle
Backend Rust : cargo build --release après avoir cloné le repo. Frontend : pnpm install && pnpm build, servi par un reverse proxy. Node 20+ requis. Le repo contient un Dockerfile complet en alternative.
⚙️ Configuration
- Compte : connexion avec un token Discord (compte principal ou bot). Le compte principal permet d'utiliser un compte certifié ; un bot permet d'agréger plusieurs comptes.
- Médias : configurer le serveur mediasoup intégré (
DIM_MEDIASOUP_LISTEN_IP,DIM_MEDIASOUP_ANNOUNCED_IP). - Stockage : base SQLite par défaut, Postgres supporté pour instances lourdes (
DATABASE_URL). - Reverse proxy : indispensable pour HTTPS et WebSocket persistant.
- Authentification : OAuth2 Discord en option, ou auth basic pour limiter l'accès.
🔗 Alternatives
- WebCord — Client Discord basé sur Electron, sans backend auto-hébergé, fork de Discord open-source.
- BetterDiscord — Plugin/mod pour le client desktop officiel, non self-hosted.
- Equicord / Vencord — Mods clients officiels, plus simples mais pas auto-hébergés.
- Element + Matrix — Pas Discord mais chat fédéré open-source, plus aligné philosophie libriste.
🔒 Sécurité
- Ne JAMAIS exposer directement le port 8000 sur Internet : passer par app-traefik avec HTTPS.
- Le token utilisateur a tous les droits sur le compte Discord : stocker dans variable d'environnement ou vault.
- Activer rate limiting sur l'API publique.
- Mettre à jour régulièrement, l'API Discord change et casse les vieilles versions.
📚 Ressources
- Site officiel : https://dim.gg/
- Repository : https://github.com/Dusk-Labs/dim
- Documentation : https://docs.dim.gg/
- Discord communautaire : https://discord.gg/dim
🔗 Pages Liées
- cat-media-streaming (catégorie parente)
- app-jellyfin — Usage média complémentaire
- app-traefik — Reverse proxy HTTPS
- recettes-docker-compose — Templates
- securisation-home-lab — Bonnes pratiques