Pas de préfixage de sous-dossier pour certaines ressources

Version : v2.6.0.beta2
Configuration : Sous-dossier /forum/discourse configuré et exécuté sur Docker avec un proxy inverse Apache sur l’hôte /forum/discourse

J’ai suivi les instructions ici pour la configuration en sous-dossier et l’installation fonctionne correctement.

Cependant, certaines URL de ressources ne sont pas correctement préfixées et entraînent des erreurs 404. Par exemple, l’URL du logo d’en-tête par défaut devrait être /forum/discourse/images/discourse-logo-sketch.png, mais Discourse utilise /images/discourse-logo-sketch.png.

Je ne connais pas très bien la base de code, mais je pense que cela devrait être résolu en enveloppant application_logo_url avec UrlHelper.absolute() ici.

Je mettrai à jour le sujet si je trouve d’autres occurrences du problème. Faites-moi savoir s’il s’agit réellement d’un problème ou si je fais quelque chose de mal. Je serais ravi de soumettre une PR.

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

expose:
# L'hôte a un proxy inverse sur ces ports
  - "8080:80"   # http
  - "8443:443" # https

params:
  db_default_text_search_config: "pg_catalog.english"
  db_shared_buffers: "3072MB"

env:
  LANG: en_US.UTF-8
  UNICORN_WORKERS: 8
  DISCOURSE_HOSTNAME: mydomain.com
  DISCOURSE_RELATIVE_URL_ROOT: /forum/discourse
  DISCOURSE_DEVELOPER_EMAILS: 'info@mydomain.com'
  DISCOURSE_SMTP_ADDRESS: mydomain.com
  DISCOURSE_SMTP_PORT: 25
  DISCOURSE_SMTP_USER_NAME: user
  DISCOURSE_SMTP_PASSWORD: pass

## Le conteneur Docker est sans état ; toutes les données sont stockées dans /shared
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

## Toutes les commandes personnalisées à exécuter après la construction
run:
  - exec: echo "Début des commandes personnalisées"
## https://meta.discourse.org/t/subfolder-support-with-docker/30507
  - exec:
      cd: $home
      cmd:
        - mkdir -p public/forum/discourse
        - cd public/forum/discourse && ln -s ../../uploads && ln -s ../../backups
  - replace:
      global: true
      filename: /etc/nginx/conf.d/discourse.conf
      from: proxy_pass http://discourse;
      to: |
          rewrite ^/(.*)$ /forum/discourse/$1 break;
          proxy_pass http://discourse;
  - replace:
      filename: /etc/nginx/conf.d/discourse.conf
      from: etag off;
      to: |
          etag off;
          location /forum/discourse {
              rewrite ^/forum/discourse/?(.*)$ /$1;
          }
  - replace:
      global: true
      filename: /etc/nginx/conf.d/discourse.conf
      from: $proxy_add_x_forwarded_for
      to: $http_your_original_ip_header
  - exec: echo "Fin des commandes personnalisées"

Les ressources de remplacement ne chargent effectivement pas le chemin du sous-dossier, mais dès que vous terminez la configuration de l’assistant, les nouveaux journaux ajoutés avec celle-ci auront le préfixe du sous-dossier.

5 « J'aime »

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