الإصدار: v2.6.0.beta2
الإعداد: إعداد مجلد فرعي /forum/discourse يعمل على Docker مع وكيل عكسي لـ Apache على المضيف في /forum/discourse
لقد اتبعت التعليمات هنا لإعداد المجلد الفرعي، وقد نجح التثبيت بشكل جيد.
ومع ذلك، لا يتم إضافة بادئة بشكل صحيح لبعض عناوين URL للموارد، مما يؤدي إلى أخطاء 404. على سبيل المثال، يجب أن يكون عنوان URL لشعار الرأس الافتراضي /forum/discourse/images/discourse-logo-sketch.png، لكن Discourse يستخدم /images/discourse-logo-sketch.png.
لست على دراية كافية بقاعدة الكود، لكنني أعتقد أنه يمكن حل هذه المشكلة عن طريق تغليف application_logo_url بـ UrlHelper.absolute() هنا.
سأضيف إلى الموضوع إذا وجدت أي حالات أخرى للمشكلة. أخبرني إذا كانت هذه مشكلة فعلية أم أنني أقوم بشيء خاطئ. سأكون سعيدًا جدًا بتقديم طلب سحب (PR).
app.yml
templates:
- "templates/postgres.template.yml"
- "templates/redis.template.yml"
- "templates/web.template.yml"
- "templates/web.ratelimited.template.yml"
expose:
# المضيف لديه وكيل عكسي على هذه المنافذ
- "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
## حاوية Docker عديمة الحالة؛ يتم تخزين جميع البيانات في /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
## أي أوامر مخصصة للتشغيل بعد البناء
run:
- exec: echo "Beginning of custom commands"
## 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 "End of custom commands"