L'image Docker discourse/discourse est-elle considérée comme sûre et prête pour la production ?

Bonjour !
Je me suis inscrit uniquement pour remercier tout le monde pour votre aide, en particulier @featheredtoast.
J’ai presque réussi à faire fonctionner le tout, mais l’envoi des e-mails ne marchait pas.
Je suppose que c’était dû au fait que j’utilise Caddy comme proxy inverse.

Je suis donc revenu à une utilisation de Discourse séparée de tous les autres services de ma configuration Docker Compose.

Savez-vous comment je pourrais faire fonctionner cela avec Caddy ? Je suppose que je dois utiliser un exemple basé sur un socket, mais je ne sais pas comment modifier le fichier app.yml dans la configuration de Discourse via Docker Compose.

Meilleures salutations à vous – Y

À moins que vous n’utilisiez Caddy pour faire passer votre courrier sortant, je ne pense pas que cela soit lié.

Vous n’avez pas besoin de le configurer avec un socket ; vous pouvez simplement faire référence au nom du conteneur Docker et/ou à son adresse IP. Discourse working with jwilder /nginx proxy & acme-companion - #7 by Steve_Emerson aborde l’utilisation du modèle avec socket ainsi que de nombreuses autres choses.

En bref, non, pas directement via docker-compose. C’est quelque chose que j’aimerais voir, mais le plan est de permettre à chacun de créer une image de base personnalisée qui peut être partagée publiquement pour faire avancer les choses. La création d’un plugin implique de cloner le plugin, d’exécuter bundle install, npm, et de recompiler ember… Cela ne devrait pas être fait au démarrage.

L’idée est donc de permettre aux images d’être construites exactement comme discourse/discourse, avec le même fichier app.yml que celui utilisé par les versions officielles de Discourse.

À titre d’exemple, je construis mon image personnelle avec resenha en mettant à jour le fichier app.yml principal pour inclure le plugin ici, puis en la poussant vers un registre Docker externe (public !).

Si vous utilisez un service de messagerie externe, je ne pense pas que votre proxy inverse Caddy soit le problème. Contrairement aux builds actuels du lanceur, discourse/discourse ne vous relancera pas pour configurer vos variables d’environnement liées aux courriels (mais il est toujours nécessaire de le faire) — je vous conseille de vérifier celles-ci en premier.

J’ai réussi à modifier la limite de taille de téléchargement :

cat fix-upload-size.sh (qui doit être chmod +x) :

#!/bin/sh
sed -i 's/client_max_body_size .*;/client_max_body_size 500m;/' /etc/nginx/conf.d/discourse.conf

dans docker-compose.yml :

    volumes:
     - ./fix-upload-size.sh:/etc/runit/1.d/fix-upload-size

J’ai réussi à créer une image, mais « uniquement » avec la version ESR. Lorsque j’utilise une version plus récente, le processus de build nécessite une base de données et une instance Redis. Est-ce intentionnel ?

Existe-t-il un moyen de mettre à jour Discourse vers la dernière version en utilisant cette image ?

Je l’utilise pour le forum du groupe de recherche de ma faculté et je souhaiterais passer à la dernière version de Discourse, mais l’image n’a pas été mise à jour depuis mars. Quelle serait la méthode recommandée pour effectuer la mise à niveau ?

C’était un effet secondaire involontaire de l’ajout d’un appel pour nettoyer les mises à jour web bloquées ; je cherche à résoudre ce problème prochainement via FIX: run clear_stuck_web_upgrades during precompile stage · Pull Request #1055 · discourse/discourse_docker

Super, merci beaucoup !

Mais j’ai une autre question : j’utilise Azure pour les étudiants et je me sers de Container Apps. Si je mets à jour d’une manière ou d’une autre à l’intérieur de l’application, j’ai peur que si l’instance sur laquelle Discourse tourne tombe en panne pour une raison quelconque, cela ne mette notre forum en désordre, car au redémarrage, il sera probablement sur une version antérieure.

Merci encore !

C’est un risque — il n’y a malheureusement pas de bonne solution pour l’éviter, si ce n’est de s’assurer que l’image est à jour si vous effectuez une mise à jour à la fois dans l’application et en tirant les images du dépôt Docker. Je ne le recommanderais vraiment pas.

En attendant, je suis toujours en train de trier le dépôt Docker (il y a un autre problème à résoudre ici).