Aller au contenu

Installer Discourse : Voici comment faire

Discourse est un logiciel open source conçu pour la création de forums et de plateformes communautaires. Il offre une interface moderne et conviviale ainsi qu’une multitude de fonctionnalités qui en font un choix populaire pour les discussions en ligne. Dans ce guide, nous te montrons comment installer Discourse sur un serveur Linux, y compris toutes les étapes nécessaires pour le configurer correctement.

Conditions préalables

Avant de commencer l’installation de Discourse, assure-toi que tu remplis les conditions suivantes :

  1. Un serveur Linux: Tu as besoin d’un serveur qui fonctionne avec une distribution Linux. Discourse supporte principalement Ubuntu 20.04 et 22.04.
  2. Exigences matérielles
    • CPU moderne Singel Core, mieux Dual Core
    • 1 Go de RAM (minimum, avec SWAP)
    • Linux 64Bit compatible avec Docker
    • 10GB de mémoire
  3. Accès root: tu as besoin des droits root ou d’un utilisateur avec des droits sudo pour installer les paquets logiciels nécessaires et effectuer les configurations.
  4. Docker: Discourse utilise Docker pour isoler toutes les dépendances et l’application elle-même. Docker doit donc être installé sur le serveur.
  5. IP publique: Pendant le setup, Discourse vérifie si le serveur sur lequel l’installation est exécutée est vraiment accessible via le domaine. Les ports 80 et 443 doivent être ouverts.
  6. Nom de domaine: tu devrais avoir un domaine ou un sous-domaine pour ton instance de discours, par exemple forum.tondomaine.com.
  7. Relais SMTP: Discourse a besoin d’un relais SMTP pour envoyer des e-mails.

Étape 1 : préparer le système

Tout d’abord, tu dois préparer ton serveur. Connecte-toi à ton serveur avec SSH :

ssh user@dein-server-ip

Mise à jour du système

Il est important que ton système soit à jour. Exécute les commandes suivantes pour mettre à jour tous les paquets :

sudo apt update<br>sudo apt upgrade 

Installer Docker

Discourse fonctionne dans un environnement Docker, installe donc Docker. Tout d’abord, nous complétons le référentiel APT de Docker :

# Add Docker's official GPG key:
sudo apt-get update
sudo apt-get install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc

# Add the repository to Apt sources:
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian \
  $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update

Ensuite, nous pouvons installer Docker et Docker-Compose avec la commande suivante :

sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

Installer Git

En plus de Docker, Discourse a aussi besoin de Git. Nous installons donc git avec la commande suivante :

sudo apt install git -y

Étape 2 : Cloner le référentiel Discourse

Maintenant, clonons l’image docker officielle de Discourse dans le dossier /var/discourse :

sudo -s
git clone https://github.com/discourse/discourse_docker.git /var/discourse
cd /var/discourse
chmod 700 containers

La commande clone l’image docker dans le dossier /var/discourse/ et change les droits avec chmod.

Étape 2 : Démarrer Discourse Setup

Nous devons maintenant nous trouver dans le dossier /var/discourse, c’est important car le setup ne peut être exécuté qu’à partir d’ici. Si nous ne sommes pas dans le dossier : cd /var/discourse

La commande suivante permet de démarrer le setup :

./discourse-setup

Ensuite, quelques questions sont posées :

Hostname for your Discourse? [discourse.example.com]: 
Email address for admin account(s)? [me@example.com,you@example.com]: 
SMTP server address? [smtp.example.com]: 
SMTP port? [587]: 
SMTP user name? [user@example.com]: 
SMTP password? [pa$$word]: 
Let's Encrypt account email? (ENTER to skip) [me@example.com]: 
Optional Maxmind License key () [xxxxxxxxxxxxxxxx]:

En créant ton compte Let’s Encrypt, tu obtiendras un certificat HTTPS gratuit pour ton Discourse Forum, que tu dois absolument mettre en place si tu veux sécuriser ton site.

L’installation génère un fichier App.yml qui se trouve dans le dossier /var/discourse/containers/, puis démarre le bootstrapping.

Qu’est-ce que le bootrapping ?

Le bootstrapping désigne le processus par lequel un système ou une application est initialisé avec les ressources, les dépendances et les configurations nécessaires, pour être ensuite transformé en un état opérationnel. Dans le développement de logiciels, en particulier avec les technologies de conteneurs comme Docker, le terme est souvent utilisé pour décrire la première étape de la mise en place d’une application. Par exemple, lors du bootstrapping du discours, un conteneur Docker est chargé et configuré avec toutes les dépendances nécessaires, telles que les bases de données et les composants logiciels. Le processus garantit que l’application peut être lancée correctement sans qu’aucune intervention manuelle ne soit nécessaire.

Le bootrapping de Discourse dure entre 2 et 8 minutes, selon les performances du matériel. Une fois le bootrapping terminé, tu peux déjà accéder à ton forum Discourse sous ton domaine défini au préalable.

discourse install

Maintenant, tu peux t’enregistrer avec l’adresse mail admin indiquée précédemment et tu recevras un mail de confirmation. C’est pourquoi l’installation SMTP doit aussi fonctionner.