Hilfe bei dual container nötig. Seit einigen Tagen Probleme mit LetsEncrypt

Ich bin an dem Punkt der Verzweiflung angekommen, denn der Versuch, den Discourse Bot oder Claude, dieses Problem lösen zu lassen, scheint unmöglich zu sein. Ich kann das Problem nicht wirklich erklären, weil ich mich nicht so gut auskenne, und ich glaube, genau das ist das, was mich wirklich frustriert.

Ich werde versuchen, aus meiner Sicht zu erklären, was passiert ist.

Als ich von einem einzelnen Container auf zwei Container umgestellt habe, verwendete die Datei in samples/ web-only, und ich habe sie aus Versehen so gelassen, anstatt web_only zu verwenden.

Dadurch (glaube ich) wurden meine Bilder nicht geladen, weil ein bestimmter “Punkt” auf web_only zeigen sollte, aber auf web-only gesetzt war. Ich habe einige Änderungen vorgenommen und die Bilder wurden repariert. Das eigentliche Problem sind jetzt die LetsEncrypt-Zertifikate.

Ich habe den Bot um Hilfe gebeten, er sagte mir, ich solle auf den nächsten Tag warten, da das Problem die Zertifikats-Ratenbeschränkung (Rate-Limit) sei. Das Problem sollte sich von selbst lösen. Das tat es nicht. Dann habe ich es erneut gefragt, dann Claude, dann Claude wieder… und wir sind seit einer Woche in diesem “Warte bis morgen um X Uhr und es WIRD sich lösen”-Zirkel. Es wird nie gelöst, beide sagen “oh, es tut mir leid, ich hätte nicht annehmen sollen, dass es sich von selbst löst, lass uns stattdessen das hier versuchen, denn jetzt wird es sich wirklich lösen”. Es tut es nie.

Die Website selbst ist online und funktioniert, aber ich habe das Gefühl, dass jedes Mal, wenn ich neu aufbauen möchte, etwas schiefgeht, und ehrlich gesagt möchte ich nicht ständig auf Pflaster angewiesen sein.

Claude hat mir gesagt, ich solle etwas in den Hooks in web_only.yml hinzufügen, aber da in den Anweisungen, die hier im Forum bereitgestellt werden, nichts dergleichen erwähnt wird, hatte ich eine andere Lösung erwartet, zum Beispiel… das eigentliche Problem zu lösen.

Kann mir bitte jemand helfen herauszufinden, was das Problem ist und wo die Dinge kaputtgehen? Ich würde es wirklich zu schätzen wissen, denn es ist an diesem Punkt erschöpfend. Nicht die Arbeit, sondern das Nicht-Verstehen, was passiert und warum "auf morgen warten

Moment. https://alltiago.com/ scheint ja gar kein Problem zu haben. Aber hier ist, was ich empfehlen würde

Ja, aber es ist etwas knifflig. Wenn du ein anderes Zertifikat anforderst, kannst du die Zählung neu starten.

Ich würde wahrscheinlich empfehlen, www zum Hostnamen hinzuzufügen, damit du Zertifikate für beide erhältst (aber vielleicht hast du das bereits getan, dann könntest du einfach einen dritten Namen hinzufügen, nur um ein neues Zertifikat zu bekommen).

Set up Let’s Encrypt with multiple domains / redirects soll dabei helfen.

Ja, das tut es, weil mir gesagt wurde, ich solle ein „Pflaster“ in Bezug auf nginx verwenden. Ich kann es nicht wirklich erklären, was genau es ist, da ich es nicht verstehe.
Das Problem ist jedoch, dass ich dann bei einem normalen Rebuild Probleme haben werde (zumindest, so wie mir jetzt gesagt wurde, wenn ich es vor dem 29. August mache, wenn hoffentlich das Zertifikat neu ausgestellt wird. An diesem Punkt kann ich keiner dieser Aussagen wirklich trauen.

Ja, www ist schon da, seit ich Discourse letztes Jahr zum ersten Mal installiert habe.

Nun, nachdem ich Claude an seine Grenzen gebracht habe, um mir zu helfen zu verstehen, was hier passiert, habe ich Folgendes herausgefunden, und du darfst das gerne hinterfragen, denn ich bin hier, um zu lernen, wo immer möglich:

  • ECC, was offenbar jetzt das Problem ist, ist nicht wirklich notwendig, da RSA der Standard ist und alle meine Website weiterhin ohne Probleme aufrufen können, wenn ich ECC komplett entferne.
  • Wie gesagt, wird dieses ganze Problem hoffentlich am 29. August behoben, sobald die 168-Stunden-Frist zurückgesetzt ist und die Grenze von 5 Zertifikaten ebenfalls zurückgesetzt wird:
sudo docker exec web_only grep -i "retry after" /shared/letsencrypt/acme.sh.log | tail -1
  "detail": "too many certificates (5) already issued for this exact set of identifiers in the last 168h0m0s, retry after 2026-08-29 03:43:15 UTC: see https://letsencrypt.org/docs/rate-limits/#new-certificates-per-exact-set-of-identifiers",
  • Falls am 29. August die Dinge nicht wieder normal laufen, empfiehlt Claude, ECC zu entfernen. Das hat es gesagt, als ich gefragt habe, welche Datei geändert und welcher Abschnitt betroffen wäre:

Datei: die Kopie, die wir gleich erstellen, web.letsencrypt.rsa-only.template.yml (deine ursprüngliche Standarddatei bleibt dabei als Fallback unangetastet).

Was darin entfernt wird: dieser gesamte Block, der im Abschnitt /usr/local/bin/letsencrypt der Datei zu finden ist:

########################################################
# ECDSA cert
########################################################
issue_cert "ec-256"

if ! cert_exists "_ecc"; then
  # Try to issue the cert again if something goes wrong
  issue_cert "ec-256" "--force"
fi

LE_WORKING_DIR="${LETSENCRYPT_DIR}" ${LETSENCRYPT_DIR}/acme.sh \
  --installcert --ecc \
  -d ${DISCOURSE_HOSTNAME} \
  --fullchainpath /shared/ssl/${DISCOURSE_HOSTNAME}_ecc.cer \
  --keypath /shared/ssl/${DISCOURSE_HOSTNAME}_ecc.key \
  --reloadcmd "sv reload nginx"

Das ist der gesamte ECC-Abschnitt, im restlichen Teil der Datei ändert sich nichts. Der RSA-Abschnitt direkt darüber bleibt exakt so, wie er ist.

Eine weitere Datei wird danach noch angefasst: containers/web_only.yml, um auf diese neue Kopie statt auf die Standardvorlage zu verweisen. Das werden wir als separater, späterer Schritt tun.

Ja. Nein. Ich würde keine Vorlagen ändern.

Ich denke, der einfachste Weg ist, abzuwarten und dann mit den Standard-Vorlagen neu aufzubauen. Es sei denn, du willst für immer Support von der KI statt von jemandem, der Discourse wirklich kann.