Installer Discourse sur CloudPanel

Je l’ai transformé en wiki. Vous êtes invité à mettre à jour le message d’origine pour mieux détailler le tout. Puisque vous avez une expertise dans ce domaine, j’espère que vous suivrez ce sujet afin d’aider les autres qui souhaitent suivre votre voie.

Le fait est qu’aucun des contributeurs réguliers ici n’utilise Cloud Panel, et la personne qui a créé le guide ne participe pas à son support. Le support de l’installation standard uniquement, où il y a très peu de choses qui peuvent mal tourner, prend déjà beaucoup de temps.

:+1: En supposant que personne ne s’y oppose, j’intégrerai mes suggestions lorsque j’aurai le temps de m’assurer qu’elles s’enchaînent correctement (et fonctionnent). Je sais qu’au moins l’exécution de discourse-setup avec --skip-connection-test sera nécessaire.

Je pense que c’est probablement injuste, ils ont mis à jour le guide en fonction des commentaires et probablement que d’autres personnes ont simplement été les premières à répondre aux questions.

5 « J'aime »

C’est probablement vrai. Cela fait à peine un jour ou deux que ce sujet a démarré. Il serait peut-être préférable que je ne dise rien et que je laisse les autres régler cela.

5 « J'aime »

Bonjour !! Je suis là et heureux de vous aider ! C’est pourquoi j’ai créé le tutoriel et invité vos commentaires !

J’ai ajouté la balise unsupported-install et une clause de non-responsabilité en haut avec une incitation à revenir à l’installation standard pour les âmes sensibles. :slight_smile:

J’avais suggéré une balise #here-be-dragons, mais elle est toujours en cours d’examen… :slight_smile:

5 « J'aime »

Cependant, au final, en suivant plus attentivement ce qui est rapporté ici et en faisant quelques recherches sur d’autres forums, j’ai réussi à tout installer. Merci à tous pour votre aide.

2 « J'aime »

Ce que vous avez trouvé serait-il une information utile pour le tutoriel actuel ?

2 « J'aime »

À l’époque, je ne comprenais pas qu’il fallait également modifier d’autres points du fichier app.yml tels que le serveur de messagerie et d’autres choses, car le guide ici était fait pour des experts, seules les choses les plus évidentes étaient indiquées pour les experts et non pas aussi des choses pour des personnes inexpérimentées comme moi. Ensuite, j’ai eu des difficultés avec la configuration de la messagerie car mon fournisseur utilise le port 587 en TLS.

3 « J'aime »

Salut @denvergeeks :blob_wave:

Je suis en train de revoir ce guide. :slight_smile:

La partie

Préparer le domaine et configurer le SSL
est-elle obligatoire ? Dois-je utiliser un service similaire, ou le SSL fonctionnerait-il sans nécessiter l’utilisation d’un tel service tiers ?


Dans ce genre de partie :

Ce serait bien d’expliquer rapidement pourquoi nous devons faire cela (des notes de bas de page conviendraient) :slight_smile:

@Canapin vous pouvez trouver des instructions pour utiliser le certificat SSL intégré de CloudPanel ici…

L’utilisation de Cloudflare est juste ma préférence, à la fois pour les serveurs de noms et pour le SSL.

Beaucoup de gens utilisent Cloudflare. Comme j’utilise Cloudflare dans mon processus, c’est ce que j’ai fourni dans mon tutoriel pour les autres qui utilisent (ou aimeraient utiliser) Cloudflare à ces fins.

Vous n’avez pas besoin d’utiliser Cloudflare. Vous pouvez utiliser n’importe quel serveur de noms que vous utiliseriez normalement pour pointer votre domaine vers votre adresse IP CloudPanel. J’utilise juste normalement Cloudflare.

De plus, vous pouvez utiliser n’importe quel fournisseur de SSL à la place de, ou en plus de, Cloudflare.

Si vous le souhaitez, vous pouvez ajouter des instructions pour d’autres fournisseurs de serveurs de noms et de SSL.

J’espère que cela clarifie les choses !

3 « J'aime »

J’ai suivi scrupuleusement votre guide pour utiliser Cloudflare comme proxy inverse avec mon domaine de test canapin.ovh, mais il affiche actuellement une erreur Cloudflare :

https://canapin.ovh

Outre le suivi de votre guide, j’ai laissé tous les autres paramètres de Cloudflare par défaut et n’ai modifié que ceux que vous mentionnez dans le guide.

Je n’y connais rien en installations avancées et l’erreur n’est peut-être pas liée à votre guide, à moins qu’il ne manque quelque chose – mais un autre utilisateur y est parvenu, donc je suppose que c’est plutôt de mon côté. :slight_smile:

3 « J'aime »

@Canapin as-tu pensé (à la fin) à :

./launcher start app

(C’est l’une des nombreuses causes possibles.)

:grey_question: Je pourrais t’aider davantage si tu pouvais fournir plus d’informations. :grey_question:

1 « J'aime »

Oui, mon conteneur fonctionne et le problème pourrait être dû à de nombreuses choses… Mais je ne veux pas polluer votre sujet, surtout en tant que personne peu familière avec les installations non prises en charge :stuck_out_tongue:

1 « J'aime »

J’utilise fastpanel, où un seul réglage suffit pour travailler avec discourse. Fastpanel offre plus de fonctionnalités (postgres, sauvegardes automatiques vers le cloud, apache/ngnix, etc.) pour installer des applications plus complexes que WordPress. Discourse fonctionne parfaitement dans fastpanel !

1 « J'aime »

Bonjour, merci de publier un excellent tutoriel qui pourrait potentiellement permettre de réaliser des économies considérables pour mon projet une fois que j’aurai appris à le configurer correctement, une fois pour toutes. En ce moment, l’économie ne se porte pas très bien et les coûts sont réduits partout.

En regardant le tutoriel, il n’y avait pas beaucoup d’étapes, j’ai pensé que j’allais essayer, donc je pense que je suis proche.

J’ai échoué à l’étape de démarrage

Status: Downloaded newer image for discourse/base:2.0.20250129-0720
docker.io/discourse/base:2.0.20250129-0720
2.0.20250129-0720: Pulling from discourse/base
Digest: sha256:01b8516e5504c0e9bc3707773015ff4407be03a89154194ff3b5b8699291bc26
Status: Image is up to date for discourse/base:2.0.20250129-0720
docker.io/discourse/base:2.0.20250129-0720
/usr/local/lib/ruby/gems/3.3.0/gems/pups-1.2.1/lib/pups.rb
/usr/local/bin/pups --stdin
I, [2025-02-05T01:45:55.552861 #1]  INFO -- : Reading from stdin
I, [2025-02-05T01:45:55.600413 #1]  INFO -- : File > /etc/runit/1.d/remove-old-socket  chmod: +x  chown:
I, [2025-02-05T01:45:55.612817 #1]  INFO -- : File > /etc/runit/3.d/remove-old-socket  chmod: +x  chown:


FAILED
--------------------
Errno::ENOENT: No such file or directory @ rb_sysopen - /etc/nginx/conf.d/discourse.conf
Location of failure: /usr/local/lib/ruby/gems/3.3.0/gems/pups-1.2.1/lib/pups/replace_command.rb:11:in `read'
replace failed with the params {"filename"=>"/etc/nginx/conf.d/discourse.conf", "from"=>"/listen 80;/", "to"=>"listen unix:/shared/nginx.http.sock;\nset_real_ip_from unix:;\n"}
bootstrap failed with exit code 1
** FAILED TO BOOTSTRAP ** please scroll up and look for earlier error messages, there may be more than one.
./discourse-doctor may help diagnose the problem.
70d853c5066a283a84838676ef16a243cc6f418cee8802eb34b1edfc598a7bd9
root@Vultr2409:/var/discourse#

J’ai essayé de demander à Deepseek de résoudre ce problème, et il me suggère de créer manuellement /etc/nginx/conf.d/discourse.conf avec le contenu suivant :

server {
    listen 80;
    server_name <mydomain.com (replaced by my domain)>;
    location / {
        proxy_pass http://unix:/shared/nginx.http.sock;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}
root@Vultr2409:/var/discourse# ./launcher rebuild app
x86_64 arch detected.
Ensuring launcher is up to date
Launcher is up-to-date
2.0.20250129-0720: Pulling from discourse/base
Digest: sha256:01b8516e5504c0e9bc3707773015ff4407be03a89154194ff3b5b8699291bc26
Status: Image is up to date for discourse/base:2.0.20250129-0720
docker.io/discourse/base:2.0.20250129-0720
/usr/local/lib/ruby/gems/3.3.0/gems/pups-1.2.1/lib/pups.rb
/usr/local/bin/pups --stdin
I, [2025-02-05T02:21:24.487508 #1]  INFO -- : Reading from stdin
I, [2025-02-05T02:21:24.505619 #1]  INFO -- : File > /etc/runit/1.d/remove-old-socket  chmod: +x  chown:
I, [2025-02-05T02:21:24.510777 #1]  INFO -- : File > /etc/runit/3.d/remove-old-socket  chmod: +x  chown:


FAILED
--------------------
Errno::ENOENT: No such file or directory @ rb_sysopen - /etc/nginx/conf.d/discourse.conf
Location of failure: /usr/local/lib/ruby/gems/3.3.0/gems/pups-1.2.1/lib/pups/replace_command.rb:11:in `read'
replace failed with the params {"filename"=>"/etc/nginx/conf.d/discourse.conf", "from"=>"/listen 80;/", "to"=>"listen unix:/shared/nginx.http.sock;\nset_real_ip_from unix:;\n"}
bootstrap failed with exit code 1
** FAILED TO BOOTSTRAP ** please scroll up and look for earlier error messages, there may be more than one.
./discourse-doctor may help diagnose the problem.
1c7c2a9d055439d23b9300f77e4bc6e912d4db5cf372ea1261e7b8bccb1be3ee

J’ai essayé certaines solutions suggérées par GPT, y compris commenter # - "templates/web.template.yml", mais cela n’a pas fonctionné. Toute aide serait grandement appréciée !

Il y a eu des changements importants dans la configuration nginx. S’agit-il de tests-réussis ou d’autre chose ?

Mais vous pouvez réessayer maintenant.

Pouvez-vous me dire où se trouvent les dernières configurations nginx ? Pour l’instant, mon discourse est connecté au fastpanel avec la configuration par défaut. Tout fonctionne, mais j’aimerais un réglage plus précis pour un fonctionnement optimal du discourse.