Dies ist ein Ubuntu 24 VPS. Discourse verwendet bereits 10 GB RAM. Das ist nicht in Ordnung.
Es scheint, als würde es einen Docker-Run-Befehl erstellen. Während dieser Folgendes enthielt:
–shm-size=512m
Ich würde es vorziehen, zusätzliche CPU- und RAM-Beschränkungen anzuwenden, da ich nicht möchte, dass es 4c12r verbraucht, da hier andere Docker-Container laufen werden. Kann ich einfach den resultierenden Befehl kopieren oder ist er irgendwo gespeichert? Ich plane, docker stop und docker rm auszuführen, um Folgendes einzufügen:
Dies ist eine Antwort von ask.discourse.org. Bitte berichten Sie über ihre Nützlichkeit.
1. Festlegen persistenter CPU- und RAM-Limits für Discourse Docker
Wenn Discourse auf einem VPS über die offizielle GitHub-Anleitung installiert wird, sind Ressourcenlimits wie --memory und --cpus standardmäßig nicht enthalten. Sie können zwar manuell solche Flags zum Docker-Run-Befehl hinzufügen, aber alle Änderungen, die direkt mit docker stop und einem neuen docker run vorgenommen werden, gehen nach der Ausführung von ./launcher rebuild app verloren. Das Launcher-Skript erstellt den Container immer neu.
Empfohlene Ansätze:
a) Modifikation des Launcher-Skripts
Um Ressourcenlimits persistent durchzusetzen, müssen Sie das launcher-Skript ändern, das Discourse zum Starten von Docker-Containern verwendet. Passen Sie beispielsweise in der Nähe von Zeile 289 an:
b) Direkte Bearbeitung des Docker-Befehls
Obwohl es technisch möglich ist, Docker mit benutzerdefinierten Limits auszuführen, indem Sie Ihren neu erstellten docker run-Befehl kopieren, ist dies nicht persistent und wird nicht empfohlen.
Es gibt noch keine offizielle, persistente “integrierte” Methode, um Docker --memory- oder --cpus-Argumente für die Standardbereitstellungstools von Discourse zu übergeben, außer durch Modifikation des Launchers.
2. Container-Name
Standardmäßig benennt der Discourse-Launcher den Container app. Sie können dies mit docker ps überprüfen. Das Ändern des Containernamens würde ebenfalls erfordern, den Launcher oder die Vorlagen direkt zu ändern.
Lesen Sie mehr: Discourse in einem Docker-Container
Wenn Sie nach einer eleganteren und persistenten Methode suchen (wie eine Vorlage oder eine unterstützte Launcher-Funktion), lesen Sie diese verwandte Diskussion: Schalter für ressourcenbeschränkte VPS?