هل غيرت Scaleway أي شيء؟ لقد كان يعمل لدي حتى قبل 48 ساعة ولكنه لم يعد يعمل.
هل فاتورتك مدفوعة؟ ما الخطب؟ هل تعمل أي صور؟ هل اختفت كلها أم أنك لا تستطيع إضافة صور جديدة؟
هل يمكنك إضافة المزيد من الدعم؟ على سبيل المثال، Tencent COS من الصين أكثر ملاءمة للمستخدمين الصينيين، و Tencent Cloud’s COS لديها عقد CDN في جميع أنحاء العالم، وهي سريعة جدًا في الوصول إليها
هل جربته؟ هل يعمل؟
لقد استخدمته في بيئة الاختبار، ولكن يمكنني فقط النسخ الاحتياطي إلى Tencent COS، وآمل أن يضيف المسؤولون عن discourse دعم Tencent COS لتسهيل المطورين من الصين.
أعتقد أنك ستحتاج إلى مشاركة ما قمت به والأخطاء أو المشاكل التي واجهتها. عندها قد يتمكن شخص ما من اقتراح كيفية جعله يعمل. قد تنظر إلى الأمثلة الأخرى وترى ما إذا كان يمكنك استخدامها لجعله يعمل.
أعتقد أنه من غير المرجح أن يقوموا بإجراء تغييرات في النواة لدعمه.
Backblaze:
- لقد قمت بإعداد دلو B2 في حسابي
- أضفت التفاصيل إلى قسم
envفيapp.yml - قمت بتشغيل
./launcher rebuild app
… ولكنني لا أرى أي تأكيد في لوحة تحكم مثيل Discourse الخاص بي بأن هذه الإعدادات قد تم تطبيقها. أين يجب أن أبحث؟
مرحباً،
لقد تمكنت بنجاح من اختبار واستخدام Cloudflare R2 لكل من التحميلات والنسخ الاحتياطي. منشور مفصل هنا Cloudflare R2: Navigating Setup and Handling Configuration Errors - #40 by kamaljain
نطلب منك التكرم بالاختبار من جانبك ومراجعة “يعمل مع Discourse” إلى نعم لـ Cloudflare R2. في الواقع، إنه أسهل من S3 وأكثر اقتصادية، مجاني إذا كان التخزين أقل من 10 جيجابايت.
أنا أيضًا اختبرت إعدادًا على مواقع متعددة وأعتقد أنه يعمل.
لقد رأيت شيئًا يجعلني أتساءل عما إذا كان بإمكانك الحصول على قائمة بالنسخ الاحتياطية. سأحاول التحقق من إعداداتي.
مرحباً يا صديقي، هل يمكنني الدردشة معك؟ لدي بعض المشاكل عند الإعداد مع minio.
شكراً لك.
إعدادات iDrive
أردت فقط الإبلاغ عن أن استخدام إصدار E2 من iDrive لتخزين s3 يعمل بشكل مثالي مع هذه الإعدادات:
إعدادات البيئة في ملف yaml
تأكد من أن الدلو الخاص بك لديه على الأقل أذونات عام و قراءة في إعدادات iDrive.
هذه هي الإعدادات التي أستخدمها لدلو واحد يشارك التحميلات و النسخ الاحتياطي.
DISCOURSE_USE_S3: true
DISCOURSE_S3_REGION: your-region
DISCOURSE_S3_ENDPOINT: https://your-idrive-endpoint.dev
DISCOURSE_S3_ACCESS_KEY_ID: your-access-key
DISCOURSE_S3_SECRET_ACCESS_KEY: your-secret-key
DISCOURSE_S3_CDN_URL: https://your-custom-cdn-url.com/uploads
DISCOURSE_S3_BUCKET: your-bucket-name/uploads
DISCOURSE_S3_BACKUP_BUCKET: your-bucket-name/backups
DISCOURSE_BACKUP_LOCATION: s3
DISCOURSE_S3_INSTALL_CORS_RULE: false
بشكل افتراضي، لدى iDrive مشاركة كل شيء في هذه المنطقة مع كل مصدر … لذا يجب أن يعمل بشكل مباشر بغض النظر عن المصادر. قم بتقييده بنطاقاتك الخاصة إذا أردت.
أستخدم شهادة مصدر Cloudflare لإنشاء CNAME يشير إلى نقطة نهاية iDrive.
مزامنة المرفقات الموجودة
إعادة البناء
أعد بناء التطبيق بعد تغيير إعدادات البيئة هذه.
تحميل وإعادة الخبز
ثم أدخل الحاوية وقم بتشغيل
rake uploads:migrate_to_s3
شاهد التحميل، ثم قم بتشغيل
rake posts:rebake_uncooked_posts
اخرج من الحاوية
إضافة إلى قسم hooks في ملف yaml
في قسم hooks
after_assets_precompile:
- exec:
cd: $home
cmd:
- sudo -E -u discourse bundle exec rake s3:upload_assets
- sudo -E -u discourse bundle exec rake s3:expire_missing_assets
يضمن هذا تحميل ملفات js/css إلى iDrive بعد المرفقات الخاصة بك، وإلا ستحصل على الكثير من أخطاء وحدة التحكم في المتصفح لأنها كلها مفقودة.
إعادة البناء
أعد البناء مرة أخرى بعد إدخال أمر الأصول.
يجب أن يكون كل شيء على ما يرام!
ربما يجب إضافة خدمة تخزين الكائنات Hetzner إلى الجدول؟
تمكنت من استخدام Contabo لتحميل الملفات. الملفات القديمة (المنقولة) والتحميلات الجديدة عملت بشكل جيد. في حالتي، كان عنوان URL للمخزن هو https://eu2.contabostorage.com/mybucket.
كانت الحيلة هي تعيين EU2 كاسم للمخزن و https://contabostorage.com/mybucket كنقطة نهاية.
المشكلة الوحيدة هي أنه عند تحميل الموقع، فإنه يطلب أيضًا ملفات أخرى مثل ملفات JavaScript الخاصة بالإضافات من المخزن ولا يتم تحميلها لأن الملفات غير متاحة. حسنًا، لقد فهمت أن هذا يرجع إلى أنني قمت بتعيين عنوان URL لشبكة توصيل المحتوى (CDN) بنفس اسم المخزن. هذا ليس واضحًا جدًا بالنسبة لي بعد، هل يمكن لأحد أن يخبرني كيف أقوم بإعداده؟ بناءً على ما فهمته، يجب علي إنشاء عنوان CNAME يشير إلى النطاق الرئيسي (خادم Discourse) وتوجيهه عبر Cloudflare، هل هذا صحيح؟
لقد فاتك هذا الجزء:
أنا متأكد من أنني فعلت ذلك، لكن ربما ارتكبت خطأ. في النهاية، قمت باستعادة نسخة احتياطية، لذا أنا أعتمد قليلاً على الذاكرة… ولكن بعد ذلك، أتساءل، لماذا يُنصح بعدم تعيين شبكة توصيل المحتوى (CDN) كـ Bucket؟ ما هي المشاكل التي يمكن أن يسببها؟ سأحاول مرة أخرى غدًا.
شكرًا
لا أعتقد أن المشكلة التي تصفها ستكون بسبب تعيين عنوان URL لشبكة توصيل المحتوى (CDN) كعنوان URL للمخزن (أي إذا كانت التحميلات تعمل، ولكن الأصول لا تعمل).
سأقوم بتحديثك غدًا، شكرًا لك
ونجحت ![]()
خطوة بخطوة لما فعلته على أمل مساعدة الآخرين:
عدلت ملف app.yml وأضفت
after_assets_precompile:
- exec: cd: $home
cmd: - sudo -E -u discourse bundle exec rake s3:upload_assets
- sudo -E -u discourse bundle exec rake s3:expire_missing_assets
بعد الـ hooks: (بعد استنساخ الإضافات git clone plugins… مباشرة)
و
DISCOURSE_USE_S3: true
DISCOURSE_S3_REGION: EU
DISCOURSE_S3_ENDPOINT: https://contabostorage.com/bucketname
DISCOURSE_S3_ACCESS_KEY_ID: accesskey
DISCOURSE_S3_SECRET_ACCESS_KEY: secretaccesskey
DISCOURSE_S3_CDN_URL: https://eu2.contabostorage.com/randomlettersthatcontaboaddstothelinks:bucketname
DISCOURSE_S3_BUCKET: eu2
DISCOURSE_BACKUP_LOCATION: s3
DISCOURSE_S3_INSTALL_CORS_RULE: false
بعد إعدادات البريد الإلكتروني
ثم قمت بتعيين نفس القيم في قائمة discourse وتمكين تحميلات S3.
أعدت بناء التطبيق باستخدام
cd /var/discourse
sudo ./launcher rebuild app
ثم
./launcher enter app
rake uploads:migrate_to_s3
يستغرق هذا بعض الوقت، في حالتي بضع ساعات (80 ألف ملف، 100 جيجابايت)
عند الانتهاء
rake posts:rebake_uncooked_posts
تحديث: لم يتمكن بعض المستخدمين من تحميل الموقع (الأصول والملفات). وجدنا أن النطاق contabostorage.com كان موجودًا في بعض القوائم السوداء كموقع تصيد احتيالي. كان الحل بسيطًا:
قم بإعداد نطاق فرعي files.mydomain.com كما هو موضح هنا Can I Setup a Custom Domain for My Object Storage? : Contabo
تم تحديث DISCOURSE_S3_CDN_URL: https://files.mydomain.com في app.yml
ثم
cd /var/discourse
sudo ./launcher rebuild app
ولإكمال المهمة
./launcher enter app
rake posts:rebake
الآن يتم تحميل جميع الأصول والتحميلات من https://files.mydomain.com/pathtofile/file.ext
تم
