Caprover est essentiellement un Heroku auto-hébergé, avec la possibilité de déployer un conteneur Docker en un clic.
Les détails de ces applications en un clic se trouvent dans un fichier .yml — il en existe actuellement un pour Discourse, mais il est basé sur la version 2.4.4 de Discourse.
L’installation repose sur la variable d’environnement ALLOW_EMPTY_PASSWORD=yes.
L’installation d’une version plus récente de Discourse que la version 2.4.4 ne fonctionne tout simplement pas : elle génère des erreurs demandant que les mots de passe PostgreSQL et Redis soient fournis dans des variables d’environnement. Lorsqu’ils sont fournis, cela échoue d’une autre manière (j’ai abandonné, donc je ne m’en souviens plus !).
L’installation de la version 2.4.4 et la tentative de mise à niveau depuis le tableau de bord ne fonctionnent pas, car elle génère l’erreur que Sidekiq ne fonctionne pas, et vous ne pouvez pas ouvrir un shell dans l’application.
Je ne comprends pas assez bien comment fonctionnent Discourse, Docker ou Caprover pour modifier le fichier .yml afin qu’il fonctionne avec une version plus récente !
Quelqu’un a-t-il des pistes ?
Si vous ne parvenez pas à obtenir de l’aide des personnes de caprover, votre meilleure option sera une installation standard et la restauration de la base de données sur la nouvelle instance.
Des mises à jour à ce sujet ? J’essaie également d’installer Discourse via Caprover, mais seule la version 2.4.4 fonctionne et utilise les mots de passe vides non sécurisés. Chaque fois que j’essaie d’utiliser une autre version, cela ne fonctionne pas.
Lorsqu’ils sont fournis, cela échoue d’une autre manière (j’ai abandonné, donc je ne me souviens plus !).
Drôle, j’ai suivi exactement le même chemin, en essayant une installation plus récente, en définissant les variables d’environnement du mot de passe postgres, en essayant de mettre à jour le mot de passe postgres dans le conteneur, mais cela n’a toujours pas fonctionné…
Cela semble beaucoup plus difficile qu’une installation standard. Qu’est-ce qui vous attire dans cette configuration ? Voulez-vous exécuter plusieurs sites Web sur un seul hôte ?
Contacter les personnes de Caprover ne sert pas à grand-chose non plus, car elles ne gèrent que la plateforme elle-même, chaque développeur d’application doit fournir son propre fichier de configuration en un clic basé sur des conteneurs Docker. De plus, comme la version 2.4.4 fonctionne, je suppose qu’il devrait être facile de déterminer ce qui a changé et de le corriger pour la dernière version ?
La seule installation que nous prenons en charge ici est l’installation standard.
Les tiers créent des packages pour encourager les utilisateurs à utiliser leur produit, service ou plateforme.
Comme vous le constatez, ces packages ne sont pas bien entretenus. Nous ne pouvons pas vraiment assumer la dette technique qu’ils engendrent, mais nous pouvons vous aider à installer Discourse d’une manière qui continuera de fonctionner à l’avenir.
Vous êtes invité à faire cette supposition. Des années d’assistance aux utilisateurs ici ont montré que ces packages peuvent se casser de manière imprévisible. C’est vraiment entre vous, caprover et le développeur du package.
Je comprends, je suis moi-même développeur d’applications, mais il existe certainement des moyens plus faciles pour les utilisateurs d’installer l’application. C’est pourquoi, par exemple, vous fournissez une image Docker, même si Docker est également un tiers. Je pense aussi avoir vu sur DigitalOcean une application en un clic pour Discourse. Je crois qu’il appartient aux développeurs de fournir diverses façons aux utilisateurs d’installer leur produit et de prendre en charge différentes plateformes.
Oui, les choses se cassent avec le temps si le développeur ne les prend pas en charge, c’est pourquoi je pense qu’il appartient au développeur de les créer et de les maintenir, et d’offrir aux utilisateurs un moyen facile d’installer leur produit dans divers environnements.
N’est-ce pas la même chose que le développeur fournissant une version pour Windows, une pour Linux ? Oui, le développeur peut dire que nous ne prenons en charge que Linux et forcer les utilisateurs à l’utiliser s’ils veulent le produit, mais ils pourraient également ajouter la prise en charge d’autres plateformes.
De plus, d’après ce que j’ai vu jusqu’à présent avec CapRover, tout ce qui doit être fait est de créer un fichier yml correct, qui est peu susceptible de se casser avec le temps, à moins que le produit lui-même (ou les technologies qu’il utilise) ne reçoive des mises à jour qui le rendent obsolète.