Besoin d'aide pour configurer discourse en utilisant Caddy comme rproxy

Si je ne poste pas dans la bonne section, je m’excuse.

J’utilise le niveau gratuit d’Oracle comme serveur, et j’ai une installation Ubuntu avec quelques conteneurs Docker en cours d’exécution.
J’utilise Caddy, également en cours d’exécution dans Docker, comme rproxy pour tous mes conteneurs.

Maintenant, je dois configurer Discourse comme dernière pièce du puzzle, mais je ne sais pas comment procéder.
J’ai testé et installé Discourse avec une installation Docker standard sur mon autre serveur de test, mais c’est le package complet, et si je dois utiliser Caddy comme rproxy, je dois désactiver certaines fonctionnalités, je suppose ?

Si quelqu’un pouvait m’indiquer la bonne direction, je l’apprécierais beaucoup.

Ceci pourrait être utile :

1 « J'aime »

Je pense que cela m’a mis sur la bonne voie. Je ne suis pas sûr de pointer vers le bon chemin cependant.

Dans mon app.yml, j’ai défini mes volumes ici :
Et je peux compiler mon Discourse sans problème.

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

Et en lisant ce fil de discussion, j’ai essayé quelques choses avec mon Caddyfile.

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
}

Aucun d’eux ne fonctionne, mais je ne suis vraiment pas sûr de faire les choses correctement xD

Comment démarrez-vous Caddy ?

Cette ligne du sujet d’origine doit être ajustée pour votre répertoire afin que cela fonctionne. À moins que le bon répertoire ne soit monté dans le conteneur Caddy, celui-ci ne peut pas voir le socket créé par Discourse.

Ah, vous voulez dire que je dois monter le socket discourse à Caddy ? Ça a du sens !

J’ai essayé autre chose hier soir cependant.
Lorsque Discourse est démarré, il s’exécute dans un réseau de pont Docker. Si j’ajoute simplement le réseau docker-default dans lequel tous mes autres conteneurs, y compris Caddy, se trouvent, alors je peux simplement l’ajouter à Caddy comme je le fais avec tous mes autres conteneurs.

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

Cependant, je n’ai pas réussi à trouver où le réseau Docker est défini dans tous ces fichiers yml. Si je pouvais le changer du pont pour qu’il s’exécute dans le défaut Docker, tout serait résolu pour moi.

Ceci pourrait être utile :

Bien que cela concerne Nginx Proxy Manager, cela décrit le processus d’intégration des conteneurs dans le réseau bridge par défaut.

1 « J'aime »

Oui ! ça marche !

J’ai dû changer quelques trucs, mais c’est presque comme le premier fil que tu as lié.

Dans Caddyfile, j’ai dû l’écrire comme ça :
Ce qui est un peu différent de ce qui est écrit dans le fil.

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

et j’ai ajouté le volume, ce qui est logique maintenant que j’y pense.
J’utilise 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

Merci beaucoup pour ton aide !

1 « J'aime »

C’est probablement dû à des changements en amont dans Caddy lui-même. L’image liée dans le sujet fonctionne toujours avec la configuration fournie, à ma connaissance.

1 « J'aime »