Hilfe beim Einrichten von Discourse mit Caddy als RProxy

Wenn ich das nicht im richtigen Abschnitt poste, tut es mir leid.

Ich benutze Oracle Free Tier als meinen Server und habe eine Ubuntu-Installation mit ein paar laufenden Docker-Containern.
Ich benutze Caddy, ebenfalls in Docker laufend, als rproxy für alle meine Container.

Jetzt muss ich Discourse als letztes Puzzleteil einrichten, bin mir aber nicht sicher, wie ich vorgehen soll.
Ich habe Discourse mit einer Standard-Docker-Installation auf meinem anderen Testserver getestet und installiert, aber das ist das Gesamtpaket, und wenn ich Caddy als rproxy verwenden muss, muss ich einige der Funktionen deaktivieren, nehme ich an?

Wenn mir jemand in die richtige Richtung weisen könnte, würde ich mich sehr freuen.

Das könnte hilfreich sein:

1 „Gefällt mir“

Ich glaube, das hat mich auf den richtigen Weg gebracht. Ich bin mir aber nicht sicher, ob ich auf den richtigen Pfad zeige.

in meiner app.yml habe ich meine Volumes hier eingestellt:
Und ich kann mein Discourse ohne Probleme bauen.

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

Und als ich diesen Forumthread gelesen habe, habe ich ein paar Dinge mit meiner Caddyfile ausprobiert.

forum.mydomain.com {
  reverse_proxy unix//opt/docker/docker_configs/discourse/shared/standalone/nginx.http.sock
  import cloudflare
}
forum.mydomain.com {
  reverse_proxy /opt/docker/docker_configs/discourse/shared/standalone/nginx.http.sock
  import cloudflare
}

Keine davon funktioniert, aber ich bin mir nicht sicher, ob ich das richtig mache xD

Wie starten Sie Caddy?

Diese Zeile aus dem ursprünglichen Thema muss für Ihr Verzeichnis angepasst werden, damit dies funktioniert. Wenn das richtige Verzeichnis nicht im Caddy-Container gemountet ist, kann es den von Discourse erstellten Socket nicht sehen.

Arh, Sie meinen, ich muss die Discourse-Sockette an Caddy anbinden? Das ergibt Sinn!

Ich habe gestern Abend jedoch etwas anderes versucht.
Wenn Discourse gestartet wird, läuft es in einem Docker-Bridge-Netzwerk. Wenn ich einfach das Docker-Standardnetzwerk hinzufüge, in dem sich auch alle meine anderen Container, einschließlich Caddy, befinden, dann kann ich es einfach zu Caddy hinzufügen, wie ich es mit all meinen anderen Containern mache.

forum.mydomain.com {
  reverse_proxy app:80
  import cloudflare
}

Ich konnte jedoch nicht herausfinden, wo das Docker-Netzwerk in all diesen YML-Dateien definiert ist. Wenn ich es von der Bridge auf das Docker-Standardnetzwerk ändern könnte, wäre alles für mich behoben.

Das könnte hilfreich sein:

Obwohl es für Nginx Proxy Manager ist, beschreibt es den Prozess, Container in das Standard-Bridge-Netzwerk zu bringen.

1 „Gefällt mir“

Ja! Es funktioniert!

Ich musste ein paar Dinge ändern, aber es ist fast wie im ersten Thread, den du verlinkt hast.

In der Caddyfile musste ich es so schreiben:
Was ein wenig anders ist als im Thread geschrieben.

forum.mydomain.com {
  reverse_proxy unix//sock/nginx.http.sock
  import cloudflare
}

und ich habe das Volume hinzugefügt, was jetzt natürlich Sinn macht, wenn ich darüber nachdenke.
Ich benutze docker-compose.

  caddy:
    container_name: Caddy
    build:
      dockerfile: ./caddy-config/Dockerfile
      context: .
    labels:
      com.centurylinklabs.watchtower.enable: "false"
    ports:
      - 80:80
      - 443:443
    volumes:
      - ./docker_configs/caddy/data:/data
      - ./docker_configs/caddy/Caddyfile:/etc/caddy/Caddyfile
      - ./docker_configs/caddy/srv:/srv
      - /var/discourse/shared/standalone:/sock
    restart: always

Vielen Dank für die Hilfe!

1 „Gefällt mir“

Das liegt wahrscheinlich an Upstream-Änderungen in Caddy selbst. Das im Thema verlinkte Image funktioniert meiner Meinung nach immer noch mit der bereitgestellten Konfiguration.

1 „Gefällt mir“