Installation de Discourse sur un VPS auto-hébergé : un processus avec FAQ

Un processus étape par étape très précis pour l’installation de Discourse, destiné aux débutants. Du choix du bon serveur à sa configuration, en passant par SMTP, DNS et l’ordre correct des opérations. Étant donné qu’il s’agit d’un processus manuel avec de nombreuses branches et options, j’ai beaucoup de doutes et j’ai entendu dire que beaucoup de configurations échouent si elles ne sont pas effectuées avec soin. Je veux faire les choses correctement et je serais reconnaissant si quelqu’un pouvait me corriger. Je vais détailler autant d’étapes que possible et m’arrêter si je bloque. Cette page pourrait être utile en résumant les principaux doutes de manière aussi complète que possible à un seul endroit

Objectif : Installer Discourse sur un VPS auto-hébergé pour un forum démarrant avec 100 utilisateurs/mois

1) Parmi les 2 guides officiels disponibles, je choisis le plus simple. Quels problèmes pourrais-je rencontrer ? Est-ce que cela n’est pas bon pour la flexibilité/extension future ?
Installation de base simple en 10 minutes : Guide d’installation Docker pour débutants
Installation puissante, flexible, sur un ou plusieurs serveurs : Guide d’installation Docker avancé

2) Est-ce un bon ordre de configuration ? i) Configurer et louer un VPS > ii) SMTP > iii) Domaine et DNS > iv) Installer Discourse

3.1) Concernant le domaine et DNS, j'ai déjà un site web avec mon domaine personnalisé. Je ne sais pas quoi faire ; sous-domaine ou serveur de noms enfant ? J'ai vérifié mais je ne comprends pas

3.2) Même si ce n’est pas le cas maintenant, si nécessaire, un forum Discourse peut être connecté à un domaine pur comme example.com n’est-ce pas (s’il est bien sûr inutilisé) ? Il ne doit pas obligatoirement être un sous-domaine comme forum.example.com n’est-ce pas ? Pourquoi le guide de Discourse dit-il seulement “Créez un enregistrement DNS - A pointant votre sous-domaine (par exemple, forum.example.com) vers l’adresse IP de votre serveur”

4.1) Concernant SMTP : Je suis complètement perdu. Concernant les connexions des utilisateurs, voici mon objectif Connect User logins from my Wix site for my Discourse forum Pour m’assurer que cela fonctionne, que dois-je faire ?
4.2) Je n’ai pas encore configuré un email professionnel, mais je peux le faire maintenant chez Hostinger. Est-ce que cela a beaucoup à voir avec SMTP ? Concernant SMTP, j’ai entendu parler sur ce forum de MailGun, MailJet et Brevo. Que signifie WDID ?

5) Choix et configuration du VPS : Contabo et Hetzner étaient les moins chers tout en semblant assez légitimes, si je choisis le moins cher Contabo, vais-je manquer quelque chose d’utile ? ils sont sûrs n’est-ce pas ? (Je voulais comparer toute la configuration avec Hetzner mais il ne semble même pas vous permettre de voir les options de configuration sans fournir vos données, carte de débit et vérifier vos conditions d’abonnement ?? Le maximum que j’ai ce sont les captures d’écran de @Lilly)
5.1) Panneau : Contabo montre que Webmin et Webmin + LAMP sont inclus. cPanel est présenté comme un addon coûteux. J’ai entendu parler de cPanel, je n’en ai pas besoin n’est-ce pas ?
5.2) OS : Contabo montre que Ubuntu est inclus sans rien dire à son sujet, est-ce suffisant ? (La configuration de Digital Ocean montre des options à côté de leur Ubuntu par ex. 24.04 (LTS) x64

5.3) Un tas d'applications sont présentées comme incluses. Si vous trouvez des problèmes avec l'une d'elles, faites-le moi savoir

5.4) Les sélections par défaut suivantes sont-elles ok ? Je peux m'en passer des addons n'est-ce pas ?

5.5) IPv6 n’est pas affiché dans la configuration, bien que sur leur page de plan VPS, la chose suivante soit annoncée ‘Adresses IPv4 et IPv6 dédiées incluses avec chaque plan’. Je me demande si c’est le cas ou non
5.6) J’ai entendu quelques commentaires négatifs sur Contabo, que pensent les personnes ici qui ont utilisé Contabo ?

5.7) Les bonnes spécifications suivantes sont les minimales disponibles et à de très bons prix ! Juste pour savoir, (au cas où je changerais de VPS) comme Discourse recommande 2 Go, 4 Go n'est-il pas inutile ? Qu'est-ce qu'une snapshot ?

Screenshot 2026-07-18 004447

Si vous êtes débutant, suivez le guide d’installation pour débutants. Ne vous précipitez pas.

Personnellement, je m’assure que mon SMTP fonctionne correctement (j’ai les clés API et tout le reste) avec le DNS pointant vers mon adresse IP, puis je finalise la configuration de Discourse car l’assistant d’installation se plaindra si le DNS n’est pas 100 % correct, et vous serez dans le pétrin.

Je ne suis pas sûr de ce que votre fournisseur entend par là. Peut-être veulent-ils dire “sous-domaine” ? Dans ce cas, ajoutez l’adresse IPv4 de votre VPS.

Oui, une adresse est une adresse. Cela peut être x.example.com, example.com, x.y.example.com, ou même example.com/x/ (avec une configuration avancée).

Vous aurez besoin de SMTP pour les résumés, les alertes administrateur, etc., indépendamment de DiscourseConnect.

Ça a l’air correct pour moi.

Si vous utilisez Cloudflare, l’IPv6 est probablement sans importance. Si vous n’utilisez aucune forme de proxy, quelqu’un ayant un réseau IPv6 uniquement ne pourra pas visiter votre site, mais c’est relativement rare de nos jours (nombreux FAI fournissent un IPv6 “dédié” et un IPv4 partagé auquel ils peuvent toujours acheminer le trafic).

200 Mbps n’est pas très rapide, mais le reste est parfait pour un forum de petite à moyenne taille. La recommandation de 2 Go est relativement faible pour une raison quelconque, donc 8 Go vous conviendront bien. Je fais fonctionner mon petit site sur un LXC (moindre surcharge) avec 8 Go/6 vCPUs et mon utilisation des ressources est faible, les pics CPU atteignent environ 50-60 % pendant les reconstructions.

Les instantanés sont essentiellement des points de restauration pour votre VM, donc si quelque chose tourne mal, vous pouvez revenir en arrière. Pas très utile lorsque vous avez des sauvegardes Discourse hors site fréquentes (sur R2 ou autre), mais c’est quand même un “plus” au cas où.

s’il vous plaît, ne mentionnez pas les personnes avec @. je n’ai vraiment pas besoin de ce bruit supplémentaire dans mes notifications, et ce n’est pas une bonne pratique sur les forums en général. si vous souhaitez utiliser des noms d’utilisateur sans les mentionner activement, mettez des accents graves autour de leurs noms pour qu’ils ne reçoivent pas de notification. laissez les gens répondre s’ils lisent vos messages et souhaitent y répondre. merci.

bon courage pour votre nouvelle aventure.

N’y touchez surtout pas pour l’instant. Restez sur les bases.

  1. Obtenez un nom de domaine avec un serveur de noms comme Namecheap. Ou, puisque vous en avez déjà un que vous souhaitez utiliser :

Créez un sous-domaine — c’est la méthode standard pour installer Discourse, afin que cela ressemble à quelque chose comme forum.votresite.com

  1. Si vous ne souhaitez pas utiliser DiscourseID, optez pour un service d’envoi d’e-mails transactionnels avec SMTP (comme Mailgun ou Resend). Resend est gratuit et je l’utilise.

  1. Configurez une gouttelette (droplet) de serveur VPS avec accès SSH chez le fournisseur VPS de votre choix.
  2. Installez Discourse en suivant le script du guide.

Comme déjà mentionné ailleurs, vous ne pouvez probablement pas le faire car vous ne disposez pas d’un compte Wix Enterprise. Veuillez faire vos recherches et vous informer en conséquence. La lecture est une exigence pour être un bon administrateur Discourse.

L’authentification unique (SSO) n’est pas quelque chose sur quoi vous devriez réfléchir pour l’instant, car vous êtes encore en train d’apprendre à configurer l’installation auto-hébergée la plus basique.

Pour modifier votre fichier app.yml après l’exécution de la configuration initiale, à l’invite de commande lorsque vous vous connectez au serveur via SSH, tapez :

cd /var/discourse
nano containers/app.yml

Un fichier app.yml d’exemple se trouve ici :

Je dirais qu’il ne faut pas se rapprocher de la limite inférieure de 2 Go, sauf si vous faites tourner un petit forum avec peu d’utilisateurs.

Non, cPanel n’est pas nécessaire.

Le service d’e-mail professionnel propose-t-il un service de messagerie transactionnelle ? Je sais que certains ne le font pas. Il est plus sûr d’utiliser des services comme Mailgun, Brevo, Amazon SES, etc.

D’autres ont développé ce point, mais je vous renvoie vers la documentation à ce sujet : Configure your hosted Discourse site to run at the root or apex domain (e.g. example.com)

Cela dit, je vous suggère simplement d’opter pour l’option normale et par défaut, qui consiste à utiliser un sous-domaine. De plus, si vous avez déjà votre site principal sous le domaine racine, il est évident que le forum appartient à cette organisation et n’est pas un site aléatoire sur Internet.

Une sauvegarde instantanée est essentiellement une copie de sécurité complète de tout le VPS. Vous pouvez toujours effectuer régulièrement des sauvegardes de Discourse au cas où quelque chose se passerait mal, si vous hébergez uniquement Discourse sur le VPS.

Ah… c’était assez important pour moi et c’était une raison pour laquelle j’ai choisi l’auto-hébergement. Si cela peut être résolu plus tard sans trop de difficultés, alors tant mieux, mais je me demande si cette configuration standard ne sera pas un obstacle pour cela plus tard ? Devrais-je faire quelque chose de différent maintenant pour permettre cette fonctionnalité, même si je ne la mets pas en place tout de suite ?
Le forum n’est qu’une extension de mon site principal, et ils doivent être unifiés. S’ils sont séparés, cela créerait beaucoup de problèmes dans mon cas.
Je ne sais pas si le SSO est la seule solution, mais je veux avoir le moins de séparation possible entre mon site Wix et le forum Discourse.

comme je l’ai dit plus haut :

et ici vous avez posté :

que savez-vous de MiniOrange ? L’offre gratuite semble être limitée à quelques utilisateurs seulement, et donc cela pourrait vous coûter cher à 49$/mois pour l’offre de base :

la recherche et la lecture attentive sont essentielles pour planifier ce que vous souhaitez accomplir.

savez-vous écrire un script Velo pour Wix ?

peut-être une solution JavaScript

je pense que vous devrez mettre en place un point de terminaison API personnalisé directement sur votre site Wix pour recevoir les demandes de connexion depuis Discourse. Cela semble nécessiter du code JavaScript dans un module Velo avec un fichier appelé http-functions.js.

Cela interceptera l’utilisateur depuis Discourse, redirigera et vérifiera sa session Wix connectée, générera une charge utile signée et, espérons-le, le renverra en toute sécurité vers le forum.

quelque chose comme ceci peut-être :

import { ok, redirect, badRequest } from 'wix-http-functions';
import { currentMember } from 'wix-members-backend';
import crypto from 'crypto';

// choisissez une chaîne aléatoire sécurisée pour le secret 

const DISCOURSE_SECRET = "VOTRE_SUPER_SECRET_STRING_HERE"; 

export async function get_discourseSso(request) {
    const query = request.query;
    const payload = query.sso;
    const sig = query.sig;

    if (!payload || !sig) {
        return badRequest({ body: "Paramètres SSO manquants" });
    }

    // valider la signature entrante de Discourse

    const computedSig = crypto.createHmac('sha256', DISCOURSE_SECRET).update(payload).digest('hex');
    if (computedSig !== sig) {
        return badRequest({ body: "Signature cryptographique invalide" });
    }

    // vérifier si l'utilisateur est connecté à Wix

    const member = await currentMember.getMember({ fieldsets: ['FULL'] });
    
    // analyser la charge utile entrante pour récupérer le nonce de suivi unique

    const decodedPayload = Buffer.from(payload, 'base64').toString('ascii');
    const params = new URLSearchParams(decodedPayload);
    const nonce = params.get('nonce');

    if (!member) {
        // Si non connecté, forcez-le à se connecter à Wix d'abord, puis revenez ici
        const loginUrl = `https://yourwixsite.com{encodeURIComponent(request.url)}`;
        return redirect(loginUrl);
    }

    // construire la charge utile utilisateur pour Discourse

    const userPayload = `nonce=${nonce}&email=${encodeURIComponent(member.loginEmail)}&external_id=${member._id}&username=${encodeURIComponent(member.profile.nickname || member._id)}&name=${encodeURIComponent(member.contactDetails.firstName + ' ' + member.contactDetails.lastName)}`;

    // chiffrer et signer la charge utile utilisateur
    const base64Payload = Buffer.from(userPayload).toString('base64');
    const returnSig = crypto.createHmac('sha256', DISCOURSE_SECRET).update(base64Payload).digest('hex');

    // rediriger vers Discourse en tant qu'utilisateur connecté
    const discourseReturnUrl = `https://yourforum.com{encodeURIComponent(base64Payload)}&sig=${returnSig}`;
    return redirect(discourseReturnUrl);
}

vous devrez également remplacer l’URL de votre forum ici

il y aura aussi une configuration DiscourseConnect, mais ne faites aucune de ces choses jusqu’à ce que vous ayez un forum auto-hébergé fonctionnel sans erreurs.

je ne suis pas un expert en la matière et je ne connais presque rien à Wix, donc aucune garantie que cette solution fonctionne. Je vous donne simplement un exemple de méthode proposée pour illustrer la complexité.

Quel que soit l’IA qui a écrit cela, elle ne comprend clairement pas qu’OpenID/SAML et Discourse Connect sont deux choses entièrement différentes, donc je ne ferais pas confiance aux autres affirmations qu’elle fait non plus.

Merci à tous pour toutes ces réponses jusqu’à présent :folded_hands:

Avec plus de 2 représentants, j’ai vérifié et confirmé cela. Leur e-mail professionnel couvre les besoins SMTP de Discourse, sans avoir besoin d’un fournisseur comme MailGun. Ils ont également ajouté une réserve ; précisant qu’il n’est pas destiné au marketing ou à l’envoi massif d’e-mails.
Principales limites de leur offre Business Starter (abonnement 1 an @ 0,79 €/mois) :

  • Limite d’envoi quotidienne : 500 e-mails par jour.
  • Nombre maximum de destinataires par e-mail : 200 destinataires.
  • Limite d’envoi mensuelle : Aucune, seulement la limite quotidienne.
    Leurs spécifications complètes, y compris les limites IMAP/SMTP : Paramètres et limites de l’e-mail Hostinger
Un résumé de la discussion ci-dessus👆 avec des détails si les gens veulent vérifier davantage

Je vois que vous envisagez l’offre Business Email de Hostinger pour vos besoins SMTP Discourse et que vous souhaitez vous assurer qu’elle couvre tout sans avoir besoin de Mailgun. Je suis heureux de regarder cela…
Vous pouvez utiliser le SMTP de Hostinger Business Email pour votre configuration Discourse, et pour la communication professionnelle régulière et les notifications de forum standard, vous n’aurez pas besoin d’un fournisseur séparé comme MailGun.
Cependant, il est important de garder à l’esprit que notre SMTP n’est pas conçu pour le marketing ou l’envoi massif d’e-mails. Il est principalement destiné à la communication professionnelle. Si vous prévoyez d’envoyer des campagnes marketing à fort volume ou des envois transactionnels à grande échelle, un service dédié comme MailGun serait toujours le meilleur choix pour ces besoins spécifiques.

Si je configure l’e-mail professionnel avec Hostinger, mais que j’ai besoin d’envoi massif à l’avenir, puis-je simplement utiliser par exemple MailGun sans avoir à migrer/ou enregistrer un nouvel e-mail avec MailGun ?

Cela dépendra de la configuration nécessaire pour Mailgun. Laissez-moi confirmer…
Si vous deviez envoyer des e-mails uniquement via le SMTP de Mailgun, vous devriez ajouter des enregistrements TXT supplémentaires. Les enregistrements MX ne changeraient pas, donc vous pouvez continuer à recevoir des e-mails sur le plan e-mail Hostinger tout en l’utilisant.

Je n’ai pas tout à fait compris cela, pouvez-vous s’il vous plaît m’expliquer davantage ?

Pensez à votre e-mail comme à une boîte aux lettres physique :
Réception (La boîte elle-même) : Vos e-mails arrivent chez Hostinger à cause de vos enregistrements MX. Vous les laisserez exactement tels quels, donc vous continuerez à recevoir tous vos courriers dans votre boîte de réception Hostinger.
Envoi (Le facteur) : Vous pouvez avoir plus d’une façon d’envoyer du courrier. En ajoutant un enregistrement TXT (spécifiquement pour SPF et DKIM) à votre domaine, vous donnez essentiellement à Mailgun la “permission” d’envoyer du courrier en votre nom.
Cela signifie que vous n’avez pas besoin de migrer/enregistrer une nouvelle adresse e-mail avec Mailgun. Vous pouvez garder votre boîte de réception professionnelle chez Hostinger pour les discussions quotidiennes, et utiliser simplement Mailgun comme “moteur d’envoi” pour les notifications de forum à fort volume ou les e-mails marketing quand vous serez prêt.


Oui.. MiniOrange n’est probablement pas ce que je recherche, d’après leur site, cela semble être un fournisseur d’identité tiers. J’essaie d’utiliser ma base de données Wix existante comme fournisseur d’identité.

[quote=“Lilly, post:8, topic:407922”]
savez-vous comment écrire un script Velo pour Wix ?
[/quote]\nJe ne suis pas tout à fait sûr de ce que vous entendez par script, mais j’ai fait beaucoup de codage Velo front-end et back-end sur Wix, construit de nombreuses fonctionnalités en utilisant le code Velo par moi-même et avec l’IA et des tutoriels, mais je suis un débutant. J’ai jeté un coup d’œil à votre code, j’aimerais beaucoup l’essayer après l’installation. Concernant le forum Wix, c’est bien (bien que moins actif qu’ici), et cette question n’a pas encore été répondue.

Jusqu’à présent, j’ai ; :check_mark: configuré l’e-mail avec Hostinger pour le SMTP (mis à jour les enregistrements DNS pour cela comme MX, CNAME et TXT sur mon Wix) :check_mark: commandé un VPS et en attendant qu’il soit provisionné.

Ce n’est pas comme installer une application mobile haha.

Et vous devriez vraiment, vraiment effectuer vos propres sauvegardes. Et stocker ces sauvegardes hors site. Cela fait partie du rôle d’administrateur système. Si vous laissez tout au fournisseur d’hébergement, vous risquez de tout perdre, et la valeur de votre entreprise pour le fournisseur est minime. La valeur de vos données pour vous et pour votre communauté est substantielle, si vous construisez une véritable communauté où les gens se soucient de leurs messages et de leurs relations.

Lancer une communauté implique de prendre des responsabilités : si vous n’avez pas les compétences pour assumer ces responsabilités, vous devriez les externaliser. Cela signifierait payer une entreprise réputée pour s’occuper des choses à votre place : sécurité, maintenance, continuité, réparation et récupération.

À quelle fréquence pensez-vous que les instantanés devraient être pris ? Une fois par mois, avec des sauvegardes hebdomadaires, ou deux fois par semaine ? Ou est-ce exagéré ?

Personnellement, je n’ai jamais utilisé de snapshots. (Je pense qu’il s’agit d’une option payante, et je ne suis pas convaincu de leur utilité lorsqu’une base de données est en cours d’exécution.)

La façon dont j’envisage la fréquence des sauvegardes, c’est de me demander comment je me sentirais au moment où j’aurais besoin de restaurer la sauvegarde. Si j’avais perdu un mois de conversations et de contributions des membres ? Ça me ferait vraiment mal. J’avais une responsabilité envers la communauté, et j’aurais laissé leur travail disparaître.

Par contre, si je fonctionne avec une capacité de stockage limitée, je dois équilibrer l’utilisation de l’espace disque. Ce que j’ai fait en pratique, et que je devrais probablement réexaminer, c’est effectuer une sauvegarde tous les deux jours et conserver quatre sauvegardes. L’un de mes modérateurs récupère automatiquement une copie du répertoire de sauvegarde chaque nuit, ce qui nous assure une copie hors site. En cas de catastrophe, nous risquons de perdre une demi-semaine de contributions.

Suite à une expérience négative avec le service de Contabo, je envisage une alternative VPS chez OVHcloud. Mais si cela ne convient pas, je devrai me résigner à Contabo.

1) Si je choisis une distribution avec une application, seule cette option limitée s’affiche. Docker sans Ubuntu comme option. Donc, devrais-je éviter cela et opter pour une distribution affichant uniquement Ubuntu ? Cela signifie-t-il que je pourrai installer Docker plus tard, ou est-ce trop complexe pour moi ? (si c’est un facteur décisif, ignorez les questions suivantes)

2) Concernant les sauvegardes, c'est très attrayant : sauvegardes quotidiennes gérées gratuites ? génial, non ?

  1. Préoccupations concernant les spécifications d’OVHcloud par rapport à Contabo :
    3.1) Les 2 vCores sont-ils suffisants ?
    3.2) Devrais-je demander des informations sur le port ? (Contabo affichait 200 Mbit/s)
3.3) La bande passante est-elle suffisante ? À ce sujet, voici la comparaison Contabo vs OVH :

J’utilise OVHcloud avec ces spécifications exactes pour faire tourner mon petit forum, et j’utilise Debian, ça marche à merveille.

Ah ! Ravi de l’entendre :slight_smile: Jusqu’à présent, j’ai vu Ubuntu tellement souvent que ça avait l’air d’une exigence. Le guide officiel le recommande aussi, alors je me demande si Debian pourrait poser plus de problèmes à un novice comme moi (pour les configurations/les modifications/les dernières mises à jour/la compatibilité) ? Ou est-ce que ce n’est pas un souci ?

Simplifiez votre vie. Utilisez Ubuntu.

L’installation standard prend 30 minutes :slight_smile:

Ne choisissez pas une version avec Docker préinstallé. Optez simplement pour une version standard d’Ubuntu ou Debian, le script s’occupera du reste.

Je n’aime vraiment pas Ubuntu et, franchement, je ne suis pas sûr de quelle est la différence avec Debian (mis à part qu’il est beaucoup plus encombré) et pourquoi il est si fortement recommandé pour Discourse par rapport à un Debian classique. Puisque vous n’avez apparemment pas beaucoup d’expérience, suivez simplement le guide d’installation standard d’Ubuntu.

Merci pour les précisions. Serai-je en règle si je

Le fait qu’il ne soit pas préinstallé ne m’entraînera pas de frais ou de complications supplémentaires pour sa gestion future, n’est-ce pas ?

J’allais oublier un autre point : contrairement à d’autres VPS, celui-ci ne dispose pas de panneau de contrôle. Est-il possible de le résoudre facilement et gratuitement ?

Il vous faut vraiment juste un VPS basique. Rien ne doit être installé dessus et cela fonctionnera parfaitement : l’installateur s’occupe de la plupart des choses.
Aussi :

Merci pour la confirmation. Si vous pensez à un moment donné que l’une de ces applications (comme les agents et les panneaux de configuration) pourrait m’aider, je l’envisagerai. Et si les quelques spécifications demandées ici d’OVHcloud conviennent, je commanderai leur VPS dans quelques heures.