Wird diese Konfiguration erfolgreich eine zweite Discourse-Instanz (mit Proxy) erstellen?

Ich richte eine zweite Discourse-Site auf demselben Server ein und verwende einen Reverse-Proxy, um den Datenverkehr zu verwalten. Ich bin nicht sehr erfahren in technischen Angelegenheiten und suche daher nach Anleitungen, um sicherzustellen, dass alles korrekt konfiguriert ist. Unten sehen Sie die app1.yml-Datei, die ich für den neuen Container verwendet habe.

Ich möchte wissen, ob diese Einrichtung es mir ermöglicht, zwei Discourse-Instanzen parallel auszuführen.

Konfiguration (app1.yml):

## Dies ist die All-in-One-Standalone-Discourse-Docker-Container-Vorlage
##
## Nach Änderungen an dieser Datei MÜSSEN Sie neu erstellen
## /var/discourse/launcher rebuild app1
##
## SEIEN SIE *SEHR* VORSICHTIG BEIM BEARBEITEN!
## YAML-DATEIEN SIND SEHR EMPFINDLICH GEGENÜBER FEHLERN BEI LEERZEICHEN ODER AUSRICHTUNG!
## Besuchen Sie http://www.yamllint.com/, um diese Datei bei Bedarf zu validieren.

templates:
  - "templates/postgres.template.yml"
  - "templates/redis.template.yml"
  - "templates/web.template.yml"
  - "templates/web.ratelimited.template.yml"
  - "templates/web.socketed.template.yml"
  - "templates/web.ssl.template.yml"
  - "templates/web.letsencrypt.ssl.template.yml"
image: discourse/discourse:latest

## Welche TCP/IP-Ports soll dieser Container verfügbar machen?
## Wenn Sie möchten, dass Discourse einen Port mit einem anderen Webserver wie Apache oder Nginx teilt,
## siehe https://meta.discourse.org/t/17247 für Details
expose:
  #- "80"   # interner HTTP-Port
  #- "443"  # interner HTTPS-Port

params:
  db_default_text_search_config: "pg_catalog.english"
  db_shared_buffers: "2048MB"
  upload_size: 100m

env:
  LC_ALL: en_US.UTF-8
  LANG: en_US.UTF-8
  LANGUAGE: en_US.UTF-8
  DISCOURSE_DEFAULT_LOCALE: zh_CN
  DISCOURSE_FORCE_HTTPS: 'true'
  UNICORN_WORKERS: 8
  DISCOURSE_HOSTNAME: xxxx.com
  DISCOURSE_DEVELOPER_EMAILS: 'youremail@xxxx.com'
  DISCOURSE_SMTP_ADDRESS: xxxxx
  DISCOURSE_SMTP_PORT: 587
  DISCOURSE_SMTP_USER_NAME: your_smtp_username
  DISCOURSE_SMTP_PASSWORD: "your_smtp_password"
  DISCOURSE_NOTIFICATION_EMAIL: no-reply@xxxx.com
  LETSENCRYPT_ACCOUNT_EMAIL: me@example.com
  DISCOURSE_MAXMIND_LICENSE_KEY: xxxxxxx

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

hooks:
  after_postgres:
    - exec: sudo -u postgres createdb discourse_app1 || exit 0
    - exec:
         stdin: |
           grant all privileges on database discourse_app1 to discourse;
         cmd: sudo -u postgres psql discourse_app1
    - exec: /bin/bash -c 'sudo -u postgres psql discourse_app1 <<< "alter schema public owner to discourse;"'
    - exec: /bin/bash -c 'sudo -u postgres psql discourse_app1 <<< "create extension if not exists hstore;"'
    - exec: /bin/bash -c 'sudo -u postgres psql discourse_app1 <<< "create extension if not exists pg_trgm;"'

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

Da ich nicht sehr vertraut mit dem Programmieren bin, würde ich mich über Ratschläge oder Verbesserungen dieser Einrichtung sehr freuen!

Sie müssen diese beiden Zeilen auskommentieren, wenn Sie einen Reverse-Proxy verwenden.

Außerdem ist es wahrscheinlich besser, ein Zwei-Container-Setup zu verwenden, um nur eine Datenbank zu haben, aber Sie benötigen zwei Redis. Sie könnten auch Multisite in Betracht ziehen.

Multisite-Konfiguration mit Docker

Einrichtung der Multisite-Konfiguration mit Let’s Encrypt und ohne Reverse Proxy

1 „Gefällt mir“