توقف عن استخدام Amazon S3 للتحميلات

لست أكثر ذكاءً منك، لكنني مررت بهذه العملية فقط - وتمكنت من الخروج منها بمساعدة @Pravi.

الخطوات التي تحتاج إلى اتخاذها للانتقال من تحميل S3 إلى الحالة الافتراضية (Vanilla)

هذه العملية ليست سهلة للغاية - احرص كل الحرص على النصوص والروابط، لأن الأمر سيصبح فوضويًا للغاية إذا أخطأت في أي خطوة. ومع ذلك، فهي قابلة للتنفيذ تمامًا.

الخطوة 1 - انسخ الملفات من حوض S3 الخاص بك إلى مجلد public/uploads/default

أولاً، قم بتثبيت AWS CLI داخل حاوية التطبيق

cd /var/discourse
./launcher enter app
sudo apt install awscli

قم بتكوين AWS باستخدام معرف S3 وكلمة المرور (عادةً ما تكون عملية مباشرة)

aws configure

ثم استخدم aws لنسخ كل محتوى الحوض إلى public/uploads/default/

aws s3 sync s3://my-bucket-name/ public/uploads/default/

الخطوة 2 - إعادة تعيين رابط S3

أسهل طريقة للقيام بذلك هي العثور على صورة في المنتدى الخاص بك وفحص الرابط. تريد كل جزء حتى اسم الملف الفعلي (بما في ذلك آخر /):

discourse remap //the-long-url-in-your-images-until-the-filename /uploads/default/

الخطوة 3 - إعادة معالجة المنشورات وإعادة بناء التطبيق:

rake posts:rebake
exit
./launcher rebuild app

الخطوة 4 - إيقاف تشغيل S3

  1. قم بإيقاف تشغيل تحميلات S3 في الإعدادات (أو في ملف app.yml الخاص بك إذا قمت بإعداده بهذه الطريقة). إذا كنت تستخدم CDN، فقم بإزالة الرابط الخاص به من الإعداد أيضًا (وإلا فلن يتم إيقافه فعليًا).
  2. قم بإيقاف تشغيل الحاوية الخاصة بك. قمت بذلك بنقل المحتوى إلى حاوية جديدة كنسخة احتياطية كخطوة أولية.

أوه! تم. حتى الآن لم أواجه أي مشاكل. اذهب واختبرها!