Centminmod + Discourse

Hallo.
Ich würde gerne die Discourse-Plattform auf meinem Centminmod LEMP-Stack ausprobieren (https://centminmod.com/).

Ich habe Docker erfolgreich installiert.

docker -v
Docker version 20.10.17, build 100c701

Ich habe die Installationsanleitung (https://github.com/discourse/discourse/blob/main/docs/INSTALL-cloud.md) mit ein paar kleineren Anpassungen befolgt – ich habe keinen Cloud-Server im eigentlichen Sinne. Es ist meine verwaltete Instanz.

Ich musste auch meine /containers/app.yml manuell bearbeiten.

Sobald ich dies getan habe, erhalte ich keine Fehler beim Neuerstellen der App über ./launcher rebuild app.

Allerdings kann ich auch keine Verbindung zur Docker-Instanz herstellen. Es wird die Landingpage meines virtuellen Hosts aufgerufen.

Was muss ich tun, damit ich die Nginx-Konfiguration per Reverse-Proxy an Docker weiterleiten kann? Oder hat jemand eine Anleitung zum Installieren von Discourse auf Centminmod geschrieben?

Danke!

Andy

Ich denke, das kommt dem, was Sie suchen, am nächsten: Run other websites on the same machine as Discourse .

1 „Gefällt mir“

Ich habe eine funktionierende Discourse-Installation zum Laufen gebracht.

Docker installieren – hier nicht behandelt
Discourse installieren –

git clone https://github.com/discourse/discourse_docker.git /var/discourse
cd /var/discourse

app.yaml in /var/discource/containers konfigurieren

app.yml zum Entfernen der Ports 80+443 anpassen

## Nach Änderungen an dieser Datei MÜSSEN Sie neu erstellen
## /var/discourse/launcher rebuild app
##
## SEIEN SIE *SEHR* VORSICHTIG BEIM BEARBEITEN!
## YAML-DATEIEN SIND SEHR, SEHR EMPFINDLICH GEGEN FEHLER 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.socketed.template.yml"
  #- "templates/web.ratelimited.template.yml"

## Welche TCP/IP-Ports soll dieser Container bereitstellen?
## 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:

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

params:
  db_default_text_search_config: "pg_catalog.english"

  ## Setzen Sie db_shared_buffers auf maximal 25% des Gesamtspeichers.
  ## wird automatisch von bootstrap basierend auf erkanntem RAM gesetzt, oder Sie können überschreiben
  db_shared_buffers: "128MB"
 
  ## kann die Sortierleistung verbessern, erhöht aber den Speicherverbrauch pro Verbindung
  #db_work_mem: "40MB"
 
  ## Welche Git-Revision soll dieser Container verwenden? (Standard: tests-passed)
  #version: tests-passed

env:
  LANG: en_US.UTF-8
  # DISCOURSE_DEFAULT_LOCALE: en

  ## Wie viele gleichzeitige Webanfragen werden unterstützt? Hängt von Speicher und CPU-Kernen ab.
  ## wird automatisch von bootstrap basierend auf erkannten CPUs gesetzt, oder Sie können überschreiben
  UNICORN_WORKERS: 2

  ## TODO: Der Domainname, auf den diese Discourse-Instanz reagieren wird
  ## Betrachten Sie dies als das, was sich in einen server_name in einer Nginx-Konfiguration verwandelt
  DISCOURSE_HOSTNAME: 'your.site.com'
 
  ## Auskommentieren, wenn der Container mit demselben
  ## Hostnamen (-h Option) wie oben angegeben gestartet werden soll (Standard "$hostname-$config")
  #DOCKER_USE_HOSTNAME: true

  ## TODO: Liste von per Komma getrennten E-Mails, die beim ersten Anmelden Administrator und Entwickler werden
  ## Beispiel 'user1@example.com,user2@example.com'
  ## Diese E-Mail wird verwendet, um sich zum ersten Mal bei der Discourse-Instanz anzumelden.
  DISCOURSE_DEVELOPER_EMAILS: 'email@your.com'

  ## TODO: Der SMTP-Mailserver, der zum Überprüfen neuer Konten und zum Senden von Benachrichtigungen verwendet wird
  DISCOURSE_SMTP_ADDRESS: smtp.your.com
  DISCOURSE_SMTP_PORT: 587
  DISCOURSE_SMTP_USER_NAME: email@your.com
  DISCOURSE_SMTP_PASSWORD: addpasswordhere  # WARNUNG ein '#' Zeichen im Passwort kann Probleme verursachen!
  ## Es gäbe keine Probleme wie oben mit dem Passwort, wenn dies ein JSON-Objekt wäre

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

## Der Docker-Container ist zustandslos; alle Daten werden in /shared gespeichert
volumes:
  - volume:
      host: /var/discourse/shared/standalone
      guest: /shared
  - volume:
      host: /var/discourse/shared/standalone/log/var-log
      guest: /var/log

## Plugins kommen hierher
## siehe https://meta.discourse.org/t/19157 für Details
hooks:
  after_code:
    - exec:
        cd: $home/plugins
        cmd:
          - git clone https://github.com/discourse/docker_manager.git

## Alle benutzerdefinierten Befehle, die nach dem Erstellen ausgeführt werden sollen
run:
  - exec: echo "Beginn der benutzerdefinierten Befehle"
  ## Wenn Sie die Absender-E-Mail-Adresse für Ihre erste Registrierung festlegen möchten, kommentieren Sie sie aus und ändern Sie sie:
  ## Nachdem Sie die erste Registrierungs-E-Mail erhalten haben, kommentieren Sie die Zeile wieder aus. Sie muss nur einmal ausgeführt werden.
  - exec: rails r "SiteSetting.notification_email='noreply@khophi.co'"
  - exec: echo "Ende der benutzerdefinierten Befehle"

Finden Sie /usr/local/nginx/conf/conf.d
Bearbeiten Sie die relevante Konfiguration

hinzufügen

proxy_pass http://unix:/var/discourse/shared/standalone/nginx.http.sock:;
                proxy_set_header Host $http_host;
                proxy_http_version 1.1;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_set_header X-Forwarded-Proto $scheme;
                proxy_set_header X-Real-IP $remote_addr;

zu location / {

include /usr/local/nginx/conf/503include-only.conf; mit einem # auskommentieren

auch

#include /usr/local/nginx/conf/pre-staticfiles-local-yourdomain.com.conf;
  #include /usr/local/nginx/conf/pre-staticfiles-global.conf;
  #include /usr/local/nginx/conf/staticfiles.conf;
  #include /usr/local/nginx/conf/drop.conf;
  #include /usr/local/nginx/conf/errorpage.conf;
  #include /usr/local/nginx/conf/vts_server.conf;

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.