La reconstruction tourne en boucle

Bonjour, je m’excuse par avance car je suis relativement nouveau sur Discourse.

Lorsque je vais dans le répertoire /var/discourse/ pour exécuter ./launcher rebuild app, j’ai la boucle suivante affichée ci-dessous.

Jusqu’à présent, l’interface graphique est correcte et je peux y effectuer des mises à jour.

J’ai effectué quelques recherches sur Google et j’ai trouvé ce fil de discussion décrivant une solution. Ma question est : puis-je également utiliser les commandes git stash et git pull pour résoudre mon problème en ligne de commande ?

Ensuring launcher is up to date

Updating Launcher…

Updating a1d8d0b..69d7558

error: Your local changes to the following files would be overwritten by merge:

templates/web.ssl.template.yml

Please commit your changes or stash them before you merge.

Aborting

failed to update

Launcher updated, restarting…

x86_64 arch detected.

Ensuring launcher is up to date

Updating Launcher…

Updating a1d8d0b..69d7558

error: Your local changes to the following files would be overwritten by merge:

templates/web.ssl.template.yml

Please commit your changes or stash them before you merge.

Aborting

failed to update

Launcher updated, restarting…

2 « J'aime »

Renommez template/web.ssl.template.yml en un autre nom (templates/my-web.ssl.template.yml) et utilisez-le dans la section templates: de containers/app.yml.

Restaurez son contenu d’origine avec

git restore templates/web.ssl.template.yml
4 « J'aime »

Et une solution à plus long terme (probablement) serait soit d’ajouter ces modifications à votre app.yml, soit de placer votre modèle quelque part en dehors de l’arborescence /var/discourse.

3 « J'aime »

Merci, j’ai fini par modifier ce fichier pour ajouter un certificat client supplémentaire pour un chiffrement supplémentaire entre le serveur et Cloudflare.

Si je suis la procédure pour restaurer le fichier template.yml, je lancerai une reconstruction pour voir si cela résout mon problème de boucle. Puis-je alors apporter les mêmes modifications une fois de plus sans trop de problèmes ? Ou cela se produira-t-il un jour et devrai-je suivre la même procédure ?

J’ai sauvegardé mon template original en .bak, j’ai donc eu l’occasion de regarder le changement.

1 « J'aime »

Ah merci, je pense que vous avez déjà répondu à ma question de suivi !

1 « J'aime »

Presque. :slight_smile:

Voici un autre indice :

Eh bien, ce n’est pas un aussi bon indice que je l’espérais. . .. Jetez un œil aux modifications apportées dans Setup Multisite Configuration with Let's Encrypt and no Reverse Proxy

3 « J'aime »

Tel que je suis maintenant, je ne pense pas pouvoir résoudre cela par moi-même. J’ai suivi les instructions pour une installation standard de DigitalOcean.

Ma première idée a été d’étudier le fichier app.yml, ce qui m’a conduit au fichier web.ssl.template.yml pour commencer.

Je voulais inclure un fichier crt de Cloudflare pour une sécurité supplémentaire.

J’ai examiné le fichier web.ssl.template.yml et j’ai modifié cette section :

ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384;
ssl_prefer_server_ciphers off;

   ssl_certificate /shared/ssl/ssl.crt;
   ssl_certificate_key /shared/ssl/ssl.key;
    ssl_client_certificate /shared/ssl/cloudflare.crt;
    ssl_verify_client on;

   ssl_session_tickets off;
   ssl_session_timeout 1d;
   ssl_session_cache shared:SSL:1m;

J’ai déposé le fichier cloudflare.crt dans le répertoire /var/discourse/shared/standalone/ssl et, d’après ce que j’ai pu constater, tout a fonctionné comme je le souhaitais.

Existe-t-il une ressource à laquelle je peux me référer pour faire de même avec des modifications au fichier app.yml ?

La plupart des gens n’utilisent plus de certificats personnalisés. Je ne suis pas sûr qu’il y ait une bonne raison de faire ce que vous demandez, mais vous pouvez consulter Allow SSL / HTTPS for your Discourse Docker setup

Je pense que vous voulez simplement désactiver le nuage orange, obtenir un certificat Let’s Encrypt et réactiver le nuage orange. Vous voulez également utiliser le modèle Cloudflare.

Voir Using Discourse with Cloudflare: Best Practices

1 « J'aime »

Hm. Je ne vois aucune objection à l’utilisation de vos propres fichiers dans le répertoire templates, tant que leurs noms n’entrent pas en conflit avec les modèles fournis par discourse. Je trouve que c’est un moyen pratique de partager des éléments de configuration entre les serveurs de staging et de production, par exemple.

3 « J'aime »

Merci à @thoka et @pfaffman pour leur temps et leurs réponses.

J’ai depuis effectué la restauration git.

Comme Jay l’a souligné, les gens n’utilisent généralement plus de certificats personnalisés, je suppose qu’à ce stade, je ne vois pas non plus de besoin urgent.

J’ai refait un ./launcher rebuild app et le lanceur s’est exécuté sans problème.

Par ailleurs, j’ai simplement saisi le modèle cloudflare en bas de app.yml comme indiqué, mais le lanceur a généré une erreur de syntaxe. Je l’ai supprimé et tout va bien. Je n’ai jamais rencontré de problème en utilisant Cloudflare sans le modèle cloudflare, donc je vais continuer ainsi.

1 « J'aime »

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.