Version: v2.6.0.beta2
Setup: Subfolder-Setup /forum/discourse läuft unter Docker mit Apache Reverse Proxy auf dem Host unter /forum/discourse
Ich habe die Anweisungen hier für das Subfolder-Setup befolgt, und die Installation funktioniert einwandfrei.
Allerdings sind einige Ressourcen-URLs nicht korrekt mit dem Pfadpräfix versehen und führen zu 404-Fehlern. Beispielsweise sollte die URL für das Standard-Header-Logo /forum/discourse/images/discourse-logo-sketch.png lauten, aber Discourse verwendet /images/discourse-logo-sketch.png.
Ich bin mit der Codebasis nicht besonders vertraut, aber ich denke, dies könnte gelöst werden, indem application_logo_url mit UrlHelper.absolute() umschlossen wird hier.
Ich werde das Thema ergänzen, falls ich weitere Vorkommnisse dieses Problems finde. Lasst mich bitte wissen, ob dies tatsächlich ein Problem ist oder ob ich etwas falsch mache. Ich würde mich sehr freuen, einen PR einzureichen.
app.yml
templates:
- "templates/postgres.template.yml"
- "templates/redis.template.yml"
- "templates/web.template.yml"
- "templates/web.ratelimited.template.yml"
expose:
# Host hat einen Reverse Proxy auf diesen 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
## 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
hooks:
after_code:
- exec:
cd: $home/plugins
cmd:
- git clone https://github.com/discourse/docker_manager.git
## Beliebige benutzerdefinierte Befehle, die nach dem Build ausgeführt werden sollen
run:
- exec: echo "Beginn der benutzerdefinierten Befehle"
## 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 "Ende der benutzerdefinierten Befehle"