مطلب: دعم النسخ الاحتياطي لـ S3 إلى خدمة مثل Backblaze

أود الحصول على دعم النسخ الاحتياطي إلى وجهة Backblaze.

في الوقت الحالي، لا أستطيع تعيين نقطة نهاية مثل: s3.eu-central-003.backblazeb2.com

إعجاب واحد (1)

في حال لم تكن قد رأيت هذا من قبل: Configure an S3 compatible object storage provider for uploads

4 إعجابات

لا، لم يكن لدي… والآن لدي :slight_smile:

ولكن مرة أخرى، تحتاج إلى درجة الدكتوراه للقيام بأمر بسيط. بالنسبة للإصدار المستقبلي، قد تكون سهولة استخدام لوحة الإدارة مشكلة.

يتمتع Discourse بالعديد من الميزات المتقدمة، لكنها أيضًا متقدمة جدًا لدرجة يصعب معها استخدامها من قبل المستخدم العادي (أنا ::slight_smile: )

بالمناسبة - أريد فقط أن يتم تخزين النسخة الاحتياطية بعيدًا عن الخادم.

لا حاجة لرفع الصور وما شابه، حيث يتم تخزينها على شبكة تسليم المحتوى (CDN). منتداي ليس كبيرًا ولا يتمتع باستخدم عالٍ…

إنه على قطرة بسيطة بتكلفة 5 دولارات…

أوه، يجب أن يكون ذلك بسيطًا جدًا. ومع ذلك، إذا لم يكن الأمر كبيرًا جدًا، فقد يكون استخدام AWS S3 أقل عناءً؟ أسعارهم ليست سيئة للتخزين، لكن النطاق الترددي يكون مرهقًا بعض الشيء.

أعتقد أنك ستحتاج فقط إلى وضع هذا في ملف app.yml مع المعلومات الصحيحة وإعادة البناء. إنه يستثني الأجزاء المخصصة لرفع الملفات من قبل المستخدمين. لن تحتاج إلى تضمين الجزء الآخر after_assets_precompile من البرنامج التعليمي.

فقط قم بتسجيل الدخول عبر SSH إلى خادمك بصفتك root ثم شغّل:
cd /var/discourse
nano containers/app.yml

استخدم أسهم لوحة المفاتيح لتحريك المؤشر والصق المعلومات أدناه تحت الجزء من الملف الذي يقول: #DISCOURSE_CDN_URL: https://discourse-cdn.example.com

  DISCOURSE_S3_REGION: "us-west-002"
  DISCOURSE_S3_INSTALL_CORS_RULE: false
  DISCOURSE_S3_ENDPOINT: https://s3.us-west-002.backblazeb2.com
  DISCOURSE_S3_ACCESS_KEY_ID: myaccesskey
  DISCOURSE_S3_SECRET_ACCESS_KEY: mysecretkey
  DISCOURSE_S3_BACKUP_BUCKET: falcoland-files/backup
  DISCOURSE_BACKUP_LOCATION: s3

تأكد من إدخال المعلومات الصحيحة للمنطقة ونقطة النهاية ومفتاح الوصول والمفتاح السري واسم سلة النسخ الاحتياطي.

اضغط على ctrl+o للتأكيد على الحفظ، ثم اضغط على ctrl+x للخروج. ثم شغّل:
./launcher rebuild app

أنا واثق إلى حد كبير من أن الأمر سيعمل بشكل جيد.

بما أنك تستخدم Digital Ocean، فمن الجيد عمل نسخة احتياطية قبل القيام بذلك. حتى يكون التراجع سهلًا في حال حدوث أي خطأ.

إعجابَين (2)

شكرًا لك على الوصف @markersocial

ذهبت إلى https://secure.backblaze.com/b2_buckets.htm وأنشأت bucket جديد

ثم ذهبت إلى App Keys لإنشاء مفتاح تطبيق جديد للوصول

بعد الإنشاء، تحصل مؤقتًا على معلومات مثل ما يلي - انتبه: يمكنك رؤية هذه المعلومات مرة واحدة فقط:

بناءً على ذلك، استخدمت:

DISCOURSE_S3_REGION: “s3.eu-central-003”
DISCOURSE_S3_INSTALL_CORS_RULE: false
DISCOURSE_S3_ENDPOINT: https://s3.eu-central-003.backblazeb2.com
DISCOURSE_S3_ACCESS_KEY_ID: myaccesskey
DISCOURSE_S3_SECRET_ACCESS_KEY: mysecretkey
DISCOURSE_S3_BACKUP_BUCKET: my_buckets_Name
DISCOURSE_BACKUP_LOCATION: s3

ثم قمت بإعادة البناء بعد أخذ لقطة لنقطة dropplet الخاصة بي على Digital Ocean

./launcher rebuild app

ثم ذهبت إلى /admin/backups وقمت بإنشاء نسخة احتياطية

[2020-08-27 09:25:57] Creating archive: studmed-dk-2020-08-27-092518-v20200820232017.tar.gz
[2020-08-27 09:25:57] Making sure archive does not already exist…
[2020-08-27 09:25:57] pg_dump: executing SEQUENCE SET topic_allowed_users_id_seq
[2020-08-27 09:25:57] Creating empty archive…
[2020-08-27 09:25:57] Archiving data dump…
[2020-08-27 09:25:59] Archiving uploads…
[2020-08-27 09:26:06] Removing tmp ‘/var/www/discourse/tmp/backups/default/2020-08-27-092518’ directory…
[2020-08-27 09:26:06] Gzipping archive, this may take a while…
[2020-08-27 09:26:31] Uploading archive…
[2020-08-27 09:26:41] Executing the after_create_hook for the backup…
[2020-08-27 09:26:41] Deleting old backups…
[2020-08-27 09:26:41] Cleaning stuff up…
[2020-08-27 09:26:41] Removing archive from local storage…
[2020-08-27 09:26:41] Removing ‘.tar’ leftovers…
[2020-08-27 09:26:41] Marking backup as finished…
[2020-08-27 09:26:41] Refreshing disk stats…
[2020-08-27 09:26:42] Notifying ‘frold’ of the end of the backup…
[2020-08-27 09:26:53] Finished!

ثم ذهبت إلى Backblaze لأرى ما إذا كان قد حدث أي شيء هناك:

أدين لك بـ :beers:

4 إعجابات

عمل رائع! إذا تعثر أي شخص آخر هنا، فأعتقد أنه إذا زوّدت بمفتاح يمكنه إنشاء الدلاء، فسيقوم discourse حتى بإنشاء الدلو لك.

إعجاب واحد (1)

الإغلاق لأن هذا مدعوم بشكل افتراضي باتباع استخدام التخزين الكائني للرفع (S3 والنسخ)

3 إعجابات