---
title: Discourse
created: 2026-06-08
updated: 2026-06-08
type: app
tags: [catalogue, forums, ruby, rails, postgres, self-hosted, app-marathon3-batch-a]
confidence: high
contested: false
sources: [https://selfh.st/apps/?tag=Forums, https://www.discourse.org/]
---

# 💬 Discourse

> La plateforme de forums moderne et open source, conçue pour les discussions de longue durée.

## 📋 Informations Générales

| Champ | Valeur |
| :--- | :--- |
| **Site web** | [discourse.org](https://www.discourse.org/) |
| **GitHub** | [discourse/discourse](https://github.com/discourse/discourse) |
| **License** | GPL-2.0 |
| **Langage** | Ruby on Rails |
| **Étoiles GitHub** | 45k ⭐ |
| **Catégorie** | [[cat-forums|Forums]] |

## 📝 Description

**Discourse** est une plateforme de forum **nouvelle génération** créée par Jeff Atwood (Stack Overflow). Pensée pour des discussions de qualité : pas de pagination, threading infini, trust levels, modération collaborative, notifications temps réel, SSO/OAuth2 complet. C'est la **référence moderne** des forums auto-hébergés.

**Différence vs Flarum** : Discourse est plus lourd mais offre des fonctionnalités enterprise (plugins, modération avancée, IA, search sémantique). Flarum est plus léger et moderne visuellement, mais plus limité fonctionnellement.

**Pour qui** : communautés tech, projets open source, associations, support client — toute communauté qui veut une discussion structurée et durable.

## 🚀 Installation

### Docker (officiel discourse/discourse_docker)

```bash
git clone https://github.com/discourse/discourse_docker.git /var/discourse
cd /var/discourse
./discourse-setup
```

### Docker Compose

```yaml
version: '3.8'
services:
  discourse:
    image: discourse/discourse:3.2
    container_name: discourse
    restart: unless-stopped
    ports:
      - "8080:80"
    volumes:
      - ./data:/shared
      - ./config/discourse.conf:/etc/discourse.conf
    environment:
      - DISCOURSE_HOSTNAME=forum.example.com
      - DISCOURSE_DEVELOPER_EMAILS=admin@example.com
    labels:
      traefik.enable: "true"
      traefik.http.routers.discourse.rule: "Host(`forum.example.com`)"
      traefik.http.routers.discourse.tls.certresolver: letsencrypt
```

## 🔄 Alternatives

### Open Source
- [[app-flarum]] — Forum PHP moderne, plus léger
- [[app-apache-answer]] — Forum Q&A type Stack Overflow
- [[app-storyden]] — Forum communautaire moderne (Go+React)

### Propriétaires
- **Discourse.org Cloud** — Hosting officiel managé
- **Circle / Mighty Networks** — Communautés payantes clé en main

## 🔐 Sécurité
- **SSO/OAuth2** : intégration Google, GitHub, Discord, Authentik
- **Trust levels** : 5 niveaux (0-4) basés sur l'engagement, limitent les actions des nouveaux
- **Rate limiting** : posts, recherches, login
- **2FA** : TOTP natif
- **Modération IA** : flag automatique de spam, GPT anti-toxicité (plugin)

## 📚 Ressources
- [Documentation Discourse](https://meta.discourse.org/)
- [Admin Quick Start](https://discuss-tutorial.discourse.org/)
- [Plugins Discourse](https://www.discoursehub.com/)

## Pages Liées
- [[cat-forums]] — Catégorie Forums
- [[app-flarum]] — Alternative PHP plus légère
- [[recettes-docker-compose]] — Templates Docker
