Reconstruire une nouvelle installation de Discourse avant Ember 5 (ciblant le canal bêta), je suis confronté à un écran de chargement sans fin

Voir le titre. Je suis dans le pétrin maintenant. J’essaie de revenir à une version antérieure à Ember 5 de Discourse afin de maintenir un support de service à long terme pour mon forum, qui repose sur des plugins qui sont maintenant devenus inutilisables avec la nouvelle version de Discourse. Pour remonter le temps de quelques jours, j’ai tout effacé (détruit le conteneur, supprimé /var/discourse et re-tiré depuis GitHub) et je recommence avec une installation Discourse vierge. Dans mon fichier .yml, j’ai spécifié “version: beta”, donc je devrais être avant Ember 5.

Après avoir fait ce que je fais d’habitude, à savoir configurer mon compte administrateur et le vérifier, je suis confronté à un écran de chargement infini. Et oui, j’entre aussi en mode sans échec et j’active “Forcer HTTPS” comme je le fais toujours avec ma configuration.

J’ai même essayé toutes les méthodes possibles, en supprimant les plugins, et même en recommençant sans aucun plugin, sauf le minimum absolu de juste…

      - git clone https://github.com/discourse/docker_manager.git

… dans mon fichier .yml. Rien à faire. Après avoir configuré mon compte administrateur, je suis toujours (installation vierge et minimale) confronté à un écran de chargement infini de la mort.

En regardant la console, voici ce que je vois actuellement :

Voici mon fichier .yml actuel :

## C'est le modèle de conteneur Discourse tout-en-un et autonome
##
## Après avoir apporté des modifications à ce fichier, vous DEVEZ reconstruire
## /var/discourse/launcher rebuild app
##
## SOYEZ TRÈS PRUDENT LORS DE LA MODIFICATION !
## LES FICHIERS YAML SONT EXTRÊMEMENT SENSIBLES AUX ERREURS D'ESPACEMENT OU D'ALIGNEMENT !
## visitez http://www.yamllint.com/ pour valider ce fichier si nécessaire

templates:
  - "templates/postgres.template.yml"
  - "templates/redis.template.yml"
  - "templates/web.template.yml"
  - "templates/web.ratelimited.template.yml"
## Décommentez ces deux lignes si vous souhaitez ajouter Lets Encrypt (https)
  #- "templates/web.ssl.template.yml"
  #- "templates/web.letsencrypt.ssl.template.yml"

## quels ports TCP/IP ce conteneur doit-il exposer ?
## Si vous voulez que Discourse partage un port avec un autre serveur web comme Apache ou nginx,
## voir https://meta.discourse.org/t/17247 pour les détails
expose:
  - "10080:80"   # http
  - "10443:443" # https

params:
  db_default_text_search_config: "pg_catalog.english"

  ## Définissez db_shared_buffers à un maximum de 25% de la mémoire totale.
  ## sera défini automatiquement par bootstrap en fonction de la RAM détectée, ou vous pouvez le remplacer
  db_shared_buffers: "2048MB"

  ## peut améliorer les performances de tri, mais ajoute de la consommation mémoire par connexion
  #db_work_mem: "40MB"

  ## Quelle révision Git ce conteneur doit-il utiliser ? (défaut : tests-passed)
  version: beta

  ## Taille maximale de téléchargement (défaut : 10m)
  upload_size: 8196m

env:
  LANG: en_US.UTF-8
  # DISCOURSE_DEFAULT_LOCALE: en

  ## Combien de requêtes web simultanées sont prises en charge ? Dépend de la mémoire et des cœurs CPU.
  ## sera défini automatiquement par bootstrap en fonction des CPU détectés, ou vous pouvez le remplacer
  UNICORN_WORKERS: 8

  ## TODO : Le nom de domaine auquel cette instance Discourse répondra
  ## Obligatoire. Discourse ne fonctionnera pas avec un simple numéro IP.
  DISCOURSE_HOSTNAME: forum.tabletpc.review

  ## Décommentez si vous voulez que le conteneur démarre avec le même
  ## nom d'hôte (-h option) que celui spécifié ci-dessus (défaut "$hostname-$config")
  #DOCKER_USE_HOSTNAME: true

  ## TODO : Liste des e-mails délimités par des virgules qui seront faits administrateurs et développeurs
  ## lors de la première inscription, par exemple 'user1@example.com,user2@example.com'
  DISCOURSE_DEVELOPER_EMAILS: 'admin@tabletpc.review'

  ## TODO : Le serveur de messagerie SMTP utilisé pour valider les nouveaux comptes et envoyer des notifications
  # L'ADRESSE SMTP, le nom d'utilisateur et le mot de passe sont requis
  # ATTENTION, le caractère '#' dans le mot de passe SMTP peut causer des problèmes !
  DISCOURSE_SMTP_ADDRESS:  [REDACTED]
  DISCOURSE_SMTP_PORT: 587
  DISCOURSE_SMTP_USER_NAME:  [REDACTED]
  DISCOURSE_SMTP_PASSWORD: " [REDACTED]"
  #DISCOURSE_SMTP_ENABLE_START_TLS: true           # (facultatif, défaut true)

  ## Si vous avez ajouté le modèle Lets Encrypt, décommentez ci-dessous pour obtenir un certificat SSL gratuit
  #LETSENCRYPT_ACCOUNT_EMAIL: me@example.com

  ## L'adresse CDN pour cette instance Discourse (configurée pour tirer)
  ## voir https://meta.discourse.org/t/14857 pour les détails
  #DISCOURSE_CDN_URL: //discourse-cdn.example.com

  DISCOURSE_MAXMIND_LICENSE_KEY: [REDACTED]

## Le conteneur Docker est sans état ; toutes les données sont stockées dans /shared
volumes:
  - volume:
      host: /var/discourse/shared/tabletpcreview
      guest: /shared
  - volume:
      host: /var/discourse/shared/tabletpcreview/log/var-log
      guest: /var/log

## Les plugins vont ici
## voir https://meta.discourse.org/t/19157 pour les détails
hooks:
  after_code:
    - exec:
        cd: $home/plugins
        cmd:
          - git clone https://github.com/discourse/docker_manager.git

## Toutes les commandes personnalisées à exécuter après la construction
run:
  - exec: echo "Début des commandes personnalisées"
  ## Si vous souhaitez définir l'adresse e-mail 'De' pour votre première inscription, décommentez et modifiez :
  ## Après avoir reçu le premier e-mail d'inscription, re-commentez la ligne. Elle ne doit s'exécuter qu'une seule fois.
  #- exec: rails r "SiteSetting.notification_email='info@unconfigured.discourse.org'"
  - exec: echo "Fin des commandes personnalisées"

EDIT : Étrangement, si je désactive les plugins en mode sans échec, le site fonctionne. Cependant, s’ils sont activés, cela ne fonctionne pas. Mon seul plugin est Docker Manager, alors pourquoi ne parvient-il pas à se charger ?

Cela fonctionne : https://forum.tabletpc.review/?safe_mode=no_plugins

Cela ne fonctionne pas : https://forum.tabletpc.review/?safe_mode=no_themes

D’accord, sauf qu’en ce moment, j’ai une installation propre sans rien dessus et le site refuse de se charger. Voir le .yml. Pas de plugins. Aussi, pas de thèmes. Pas de composants de thème. Je suis en train de tout configurer à partir de zéro et j’obtiens l’écran de chargement infini. Pas de plugins à l’exception du Docker Manager. Je suis extrêmement confus quant à la raison pour laquelle cela ne fonctionne pas.

1 « J'aime »

OK, oui, désolé, c’est confus !

1 « J'aime »

Je pense donc que vous devriez probablement oublier beta et passer à tests-passed pour voir si vous pouvez récupérer une build, puis la reconstruire pièce par pièce.

2 « J'aime »

En effet. Je vais essayer de faire une nouvelle installation dans un autre environnement. Il semble que la bêta soit cassée pour le moment. Par le passé, je pouvais cibler la bêta dans mon fichier .yml. Je suppose qu’il y a un changement majeur dans le plugin Docker Manager qui n’est pas rétrocompatible.

1 « J'aime »

Ça a fonctionné. Il doit y avoir un changement majeur dans Docker Manager qui casse la bêta. (Par conséquent, un avertissement à quiconque utilise la bêta comme cible principale de son conteneur : ne pas mettre à jour !)

Je suis en train d’examiner et je pense avoir une bonne idée du plugin qui est le coupable pour la ligne principale / tests-réussis.

1 « J'aime »

Verdict : Pour ceux comme moi qui s’y accrochent, avec Ember 5, Retort est maintenant mort. :frowning: Je cherche des options pour préserver ses fonctionnalités.

1 « J'aime »