Probleme mit Discourse 3.5.0.beta2-dev - SMTP und Background Jobs

Ich habe weiterhin Schwierigkeiten bei der Installation von Discourse. Hier ist ein weiterer Bericht, der von ChatGPT erstellt wurde. Ich glaube, dass er meine Erfahrungen genau wiedergibt.

Bericht: Probleme bei der Discourse-Installation und fehlender Sidekiq-Dienst

Kontext:
Wir haben versucht, Discourse auf einer Vultr-Instanz neu zu installieren, mit dem Ziel, eine stabile und funktionierende Bereitstellung einzurichten. Dabei sind wir jedoch auf erhebliche Probleme gestoßen, insbesondere auf fehlende Dienste wie Sidekiq, die die E-Mail-Zustellung und die Verarbeitung von Hintergrundaufträgen verhinderten.


Zusammenfassung der aufgetretenen Probleme

  1. Unerwartete Version installiert
    • Anstelle der erwarteten Version v3.4.0.beta4-dev wurde standardmäßig tests-passed installiert, was eine potenziell instabile Version zog.
    • Die Datei VERSION fehlte, sodass unklar war, welche genaue Version installiert wurde.
  2. Sidekiq-Dienst fehlt
    • Das Verzeichnis /etc/service/sidekiq fehlte im Discourse-Container.
    • Dadurch konnten keine Hintergrundaufträge (E-Mails, Benachrichtigungen, geplante Aufgaben) ausgeführt werden.
  3. Probleme mit dem Discourse Git-Repository
    • Die Ausführung von git rev-parse --abbrev-ref HEAD im Container ergab tests-passed, was bestätigte, dass eine unbeabsichtigte Version installiert wurde.
    • Git gab eine Fehlermeldung „detected dubious ownership“ aus, die ein manuelles Eingreifen erforderte (git config --global --add safe.directory /var/www/discourse).
  4. Mögliche Abhängigkeitsprobleme
    • Selbst wenn eine ältere Version von Discourse ausgecheckt wird, besteht die Sorge, dass neuere Abhängigkeiten (Ruby, Redis, Sidekiq) während der Installation gezogen werden könnten, was zu Kompatibilitätsproblemen führen kann.
    • Wenn die Discourse-Abhängigkeiten nicht korrekt fixiert sind, kann die Installation in verschiedenen Umgebungen inkonsistent funktionieren.
  5. Ratenbegrenzung für SSL-Zertifikate
    • Der Versuch, ein neues Let’s Encrypt SSL-Zertifikat zu erhalten, schlug fehl, da die Ratenbegrenzung überschritten wurde.
    • Dies führte dazu, dass Nginx nicht gestartet werden konnte, da die erwartete Zertifikatsdatei nicht geladen werden konnte.

Geplante nächste Schritte

  1. Vollständiges Löschen und Neuinstallation durchführen
    • /var/discourse vollständig entfernen und das Repository neu klonen.
    • Manuell eine stabile Version (z. B. v3.4.1) auschecken, bevor die Installation ausgeführt wird.
    • ./discourse-setup verwenden, anstatt sich auf Standardwerte zu verlassen, um korrekte Parameter sicherzustellen.
  2. Sicherstellen, dass Sidekiq installiert ist
    • Vor dem Neubau überprüfen, ob der sidekiq-Dienst korrekt in den Build-Prozess integriert ist.
    • Wenn Sidekiq nach dem Neubau fehlt, die Installation manuell über bundle list | grep sidekiq überprüfen.
  3. Abhängigkeiten auf stabile Versionen fixieren
    • Abhängigkeitsbedingte Probleme vermeiden, indem explizit ein bekannt stabiles Discourse Docker-Image verwendet wird (z. B. discourse/discourse:2.0.20240101).
    • Gem-Versionen im Container sperren (bundle install --deployment --without test development).
  4. Erneuter Versuch der Ausstellung von SSL-Zertifikaten
    • Auf den Reset der Let’s Encrypt-Ratenbegrenzung warten und die Erstellung von SSL-Zertifikaten erneut versuchen.
    • Wenn Probleme weiterhin bestehen, erwägen Sie vorübergehend die Verwendung eines selbstsignierten Zertifikats zur Fehlerbehebung.

Bitte um Feedback

Angesichts dieser Herausforderungen würden wir uns über Input vom Discourse-Team und der Community freuen bezüglich:

  • Fehlendes Sidekiq in /etc/service/ bei einer Neuinstallation – Ist dieses Problem schon bei anderen aufgetreten?
  • Bewährte Verfahren zur Sicherstellung der Abhängigkeitsstabilität – Gibt es eine empfohlene Methode, um Abhängigkeitsversionen für Discourse-Installationen zu fixieren?
  • Mögliche Probleme mit der Standardinstallation von tests-passed – Könnte es ein Problem mit dem Abruf von Versionen geben?

Jede Einsicht wäre hilfreich, bevor wir mit der Neuinstallation fortfahren. Vielen Dank im Voraus!