Ich frage mich, ob ich dieses Problem lösen kann, indem ich Redis entweder leere oder aktualisiere; es wurde in den letzten 8+ Monaten kaum verändert. Ich habe persönlich noch nie mit Redis gearbeitet, aber unsere Tests-Pass-Discourse-Instanz wurde mit local_discourse eingerichtet und nicht mit dem Discourse Docker, das in diesem Forum jetzt empfohlen wird. Die Probleme, auf die ich stoße, betreffen das Nicht-Versenden von E-Mails an Benutzer. Jegliche Hilfe und Vorschläge sind willkommen!
Sidekiq läuft nicht. Viele Aufgaben, wie das Versenden von E-Mails, werden asynchron von Sidekiq ausgeführt. Stellen Sie sicher, dass mindestens ein Sidekiq-Prozess läuft.
Würde es helfen, wenn ich den Launcher verwende, um den Redis-Container neu zu erstellen oder neu zu starten?
Verwendung: launcher COMMAND CONFIG [–skip-prereqs] [–docker-args STRING]
Befehle:
start: Einen Container starten/initialisieren
stop: Einen laufenden Container stoppen
restart: Einen Container neu starten
destroy: Einen Container stoppen und entfernen
enter: Eine Shell öffnen, um Befehle innerhalb des Containers auszuführen
logs: Die Docker-Protokolle für einen Container anzeigen
bootstrap: Einen Container basierend auf einer Vorlage für die Konfiguration initialisieren
run: Den angegebenen Befehl mit der Konfiguration im Kontext des zuletzt initialisierten Images ausführen
rebuild: Einen Container neu erstellen (alten zerstören, initialisieren, neuen starten)
cleanup: Alle Container entfernen, die seit mehr als 24 Stunden gestoppt sind
start-cmd: Den Docker-Befehl generieren, der zum Starten des Containers verwendet wird
Optionen:
–skip-prereqs Keine Überprüfung der Launcher-Voraussetzungen
–docker-args Zusätzliche Argumente beim Ausführen von Docker übergeben
–skip-mac-address Keine MAC-Adresse zuweisen
–run-image Das für den Start des Containers verwendete Image überschreiben
Haben Sie die Installation gemäß dem offiziellen Standard-Installationsleitfaden von Discourse oder auf eine andere Weise durchgeführt? Wenn Sie eine Standardinstallation haben, wird der Befehl ./launcher rebuild app Ihr Problem höchstwahrscheinlich lösen.
Noch nicht, aber wir planen einen Zeitpunkt für die Migration. Unser Discourse läuft seit fast drei Jahren, und ich möchte einfach keine unnötigen Ausfallzeiten hinzufügen. Unsere Instanz wird ausschließlich von Freiwilligen gewartet, daher habe ich mir im letzten Monat selbst beigebracht, wie man sie verwaltet. Wenn eine schnelle Redis-Reparatur hilft (dieser Container läuft seit einem Jahr ohne Änderungen), würde ich sie gerne anwenden.
Wenn Sie ursprünglich keine Standard-Installation durchgeführt haben, ist es reine Spekulation, was Ihr aktuelles Problem beheben könnte.
Ich würde eine neue VM einrichten und dort eine Testinstallation durchführen, um sicherzustellen, dass alles funktioniert. Bei der Migration können Sie das alte Forum in den Nur-Lese-Modus versetzen, ein Backup erstellen, es auf der neuen VM wiederherstellen und die DNS-Einstellungen ändern, sodass es praktisch keine Ausfallzeit gibt. (Es wird tatsächlich eine kurze Unterbrechung geben, da Sie nach der DNS-Änderung einen Neuaufbau durchführen müssen, um ein Let’s Encrypt-Zertifikat zu installieren.)
Vielen Dank, Let’s Encrypt sollte eigentlich recht einfach sein, da es als einfache Nginx-Reverse-Proxy-Konfiguration eingerichtet wurde. Gut zu hören, und zu erwarten ist, dass es zu einigen Ausfallzeiten kommen wird. Es muss nur in einer Nebenzeitspanne geplant werden.
Ich bin dabei, das Backup auf offizielle Images zu migrieren und wiederherzustellen. Gibt es etwas, das ich im Hinblick auf das Löschen gesicherter E-Mails usw. beachten sollte, damit die Benutzer nicht gespammt werden, sobald Sidekiq usw. ordnungsgemäß läuft? Danke!
Also, wir versuchen, die Dokumentation zur Installation offizieller Discourse-Docker-Images zu befolgen, stoßen aber auf Probleme. Wir haben festgestellt, dass uns der Redis-Container, der Mail-Empfänger-Container und der Datencontainer fehlen, die wir zuvor in Docker hatten.
Dieses Multi-Container-Setup unterscheidet sich von den grundlegenden Installationsanweisungen. Ich habe jedoch ein Backup unseres alten /var/discourse zur Referenz.
FAILED │················································································································
-------------------- │················································································································
Pups::ExecError: cd /var/www/discourse && su discourse -c 'bundle exec rake db:migrate' fehlgeschlagen mit Rückgabewert #<Process::Status: pid 645 exit 1> │················································································································
Fehlerort: /pups/lib/pups/exec_command.rb:112:in `spawn' │················································································································
Ausführung fehlgeschlagen mit den Parametern {"cd"=>"$home", "hook"=>"db_migrate", "cmd"=>["su discourse -c 'bundle exec rake db:migrate'"]} │················································································································
bbf0e57ac69f1febe2a5f149aa7e6e12541c3c23aaf199188fdf19d507254b58 │················································································································
** BOOTSTRAP FEHLGESCHLAGEN ** Bitte scrollen Sie nach oben und suchen Sie nach früheren Fehlermeldungen; es kann mehr als eine geben. │················································································································
./discourse-doctor kann bei der Diagnose des Problems helfen.
Das ist korrekt, die Importeure haben das so eingestellt, damit Sie nach einer Migration nicht 50.000 E-Mails versenden. Schalten Sie E-Mails in Ihren Site-Einstellungen vorsichtig ein.