Standardähnliche App wird nicht neu erstellt

Hallo, ich habe das Standard-Discourse auf einem Linux-System gemäß diesem Leitfaden eingerichtet. Alles lief super reibungslos, und die Seite startete einwandfrei.

Ich habe beschlossen, Nutzern die Verbindung über Facebook zu ermöglichen, und habe daher die Facebook-Anweisungen befolgt, die über den oben genannten Link verlinkt sind (ich könnte sie erneut verlinken, aber neue Nutzer können anscheinend nur zwei Links posten). Das hat leider nicht funktioniert, aber die Seite war weiterhin online und betriebsbereit (ich erinnere mich nicht mehr an den Fehler, der beim Versuch, sich über Facebook einzuloggen, aufgetreten ist).

Während ich die Facebook-Dokumentation durchgegangen bin, habe ich etwas über die Notwendigkeit von HTTPS gelesen und habe daher angefangen, diese Dokumentation zu bearbeiten. Das lief alles gut, bis zum Befehl ./launcher rebuild app, bei dem ich einen PostgreSQL-Fehler erhielt. Das überraschte mich, da ich (nach bestem Wissen und Gewissen) nichts an der PostgreSQL-Konfiguration geändert hatte. Der erste Fehler lautet wie folgt:

INFO -- : > cd /var/www/discourse && su discourse -c 'bundle exec rake db:migrate'
rake aborted!
PG::ConnectionBad: could not connect to server: No such file or directory
	Is the server running locally and accepting
	connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"?

Ich habe den PostgreSQL-Dienst nicht gestoppt, aber ich habe versucht, service start postgres auszuführen, und es wurde gemeldet, dass er nicht installiert sei. Ich gehe also davon aus, dass er auf eine andere Weise automatisch installiert wird, als ich es gewohnt bin. Haben Sie eine Idee, was ich falsch gemacht haben könnte? Vielen Dank.

Meine container/app.yml:

templates:
  - "templates/web.template.yml"
  - "templates/web.ssl.template.yml"
  - "templates/web.letsencrypt.ssl.template.yml"
  - "templates/postgres.template.yml"
  - "templates/redis.template.yml"
  - "templates/web.template.yml"
  - "templates/web.ratelimited.template.yml"

expose:
  - "80:80"   # http
  - "443:443" # https

params:
  db_default_text_search_config: "pg_catalog.english"

  db_shared_buffers: "128MB"

env:
  LANG: en_US.UTF-8
  LETSENCRYPT_ACCOUNT_EMAIL: 'myotheremail@gmail.com'
  UNICORN_WORKERS: 2

  DISCOURSE_HOSTNAME: mysite.com

  DISCOURSE_DEVELOPER_EMAILS: 'myemail@gmail.com'

  DISCOURSE_SMTP_ADDRESS: smtp.gmail.com
  DISCOURSE_SMTP_PORT: 587
  DISCOURSE_SMTP_USER_NAME: myemail@gmail.com
  DISCOURSE_SMTP_PASSWORD: "myPa$$word"

  ## Die HTTP- oder HTTPS-CDN-Adresse für diese Discourse-Instanz (konfiguriert zum Abrufen)
  ## Details unter https://meta.discourse.org/t/14857
  #DISCOURSE_CDN_URL: https://discourse-cdn.example.com

volumes:
  - volume:
      host: /var/discourse/shared/standalone
      guest: /shared
  - volume:
      host: /var/discourse/shared/standalone/log/var-log
      guest: /var/log

hooks:
  after_code:
    - exec:
        cd: $home/plugins
        cmd:
          - git clone https://github.com/discourse/docker_manager.git

run:
  - exec: echo "Beginning of custom commands"
  - exec: echo "End of custom commands"

Wenn Sie sich an den offiziellen Leitfaden gehalten haben, hätte HTTPS automatisch eingerichtet werden sollen. Beachten Sie ganz oben in dem von Ihnen verlinkten Leitfaden:

Ja, das ist korrekt. Und diesen Anweisungen bin ich gefolgt. Ich habe mich zunächst an den Leitfaden für die Facebook-Login-Verbindung gehalten, bin mir aber unsicher, ob das das Problem ist. Ich habe den von dir geposteten Leitfaden durchgearbeitet, dann zu HTTPS übergegangen und jetzt habe ich die oben aufgeführten Probleme.

Ok, fassen wir kurz zusammen.

Diese beiden Anleitungen sollten ausreichen:

Diese hier solltest du nicht befolgen, da HTTPS standardmäßig aktiviert ist:

Falls möglich, würde ich einen komplett neuen Start empfehlen und dann melden, welche Fehler beim Versuch, sich mit Facebook anzumelden, auftreten.

Okay, als ich den ersten Leitfaden fertiggestellt hatte, war die Website zwar erreichbar, aber nicht über HTTPS. Ich ging davon aus, dass sie erst HTTPS unterstützt, sobald ich es aktiviert habe. Ich werde die Anweisungen noch einmal durchgehen, vielleicht habe ich etwas missverstanden, und melde mich dann wieder.

Ok, die App läuft wieder, aber ich finde in diesen Anweisungen nirgends einen Hinweis darauf, wie die Seite über HTTPS eingerichtet werden könnte, da es keinen Schritt gibt, der ein Zertifikat betrifft, außer der Let’s Encrypt-Methode am Ende. Was übersehe ich? Können Sie mir genau sagen, an welcher Stelle in diesen Anweisungen die HTTPS-Einrichtung erfolgt?

Das alles läuft im Hintergrund ab. Wenn Sie Ihre E-Mail-Adresse im letzten Konfigurationsschritt eingeben:

Ich wette, ich habe ENTER gedrückt, um zu überspringen, ohne es überhaupt zu merken. Falls das der Fall ist, wäre es dann am besten, die Konfiguration einfach erneut durchzuführen oder die Anweisungen für Let’s Encrypt zu befolgen? Bedenke dabei, dass ich bereits etwas Inhalt auf der Website habe und dieser nicht gelöscht werden soll. (Vielen Dank nochmals für deine Hilfe)

Führen Sie einfach erneut discourse-setup aus und geben Sie eine Adresse für Let’s Encrypt an.

Was für eine fantastische Funktion. Ich fühle mich so albern, dass ich das beim ersten Mal übersehen habe. Vielen Dank an euch beide und an das Team für die Umsetzung.

Gäbe es eine Möglichkeit, die Worte so zu ändern, dass du es früher verstanden hättest?

Das glaube ich. Ich habe zwar viel Erfahrung mit Servern, war aber seit der Einführung von Let’s Encrypt nicht mehr sehr aktiv, daher habe ich einfach angenommen, dass es in der Dokumentation einen Abschnitt zum Erhalten eines Zertifikats gäbe, falls dies direkt funktionieren würde. Da dies nicht der Fall war, ging ich davon aus, dass dies in einem separaten Schritt erledigt werden müsste. Auf dieser Seite wird Let’s Encrypt nirgendwo erwähnt, außer in der Ausgabe des Befehls ./disource-setup. Vielleicht sollte man unter „Discourse-Konfiguration bearbeiten

Fair genug. Welche Wörter?

Ich kann nicht sagen, ob du den Rest meiner Antwort nicht gesehen hast, aber vielleicht werde ich einfach einen PR mit den Korrekturen einreichen, die ich für sinnvoll halte. Aber es wäre wirklich schon gut, wenn erwähnt würde, dass die Dokumentation die Zertifikate berücksichtigt.

Ah, ! Die Installations-Dokumentation für Cloud macht das also nicht klar? Das klingt plausibel.

Ich werde mir den Text bei discourse-setup ansehen, um zu prüfen, ob klarer gemacht werden sollte, was Let’s Encrypt ist. Es stimmt, dass nicht davon ausgegangen werden sollte, dass der Nutzer dies bereits weiß.

Danke.