إذًا، هل تريد نقل جميع التحميلات والنسخ الاحتياطية إلى وحدة تخزين كتل DigitalOcean؟
ولكن قبل القيام بذلك، قد تفكر بدلاً من ذلك في Configure an S3 compatible object storage provider for uploads. إنه ليس أكثر تعقيدًا في الإعداد ويوفر بعض المزايا الأخرى.
إعداد مثيل Discourse على DigitalOcean
قم بإعداد مثيل Discourse على DigitalOcean باستخدام دليلنا الرسمي.
إضافة وحدة تخزين إلى قطرتك (droplet)
أضف وحدة تخزين كتل إلى قطرتك. دوّن اسم الوحدة. في حالتي، كان اسم الوحدة volume-nyc1-05.
تأكد من تهيئة الوحدة وتثبيتها (mounted) على /mnt/volume_nyc1_05.
نقل /var/discourse/shared إلى الوحدة
للحصول على أفضل أداء، سنحتفظ بـ postgres_data على محرك الأقراص الرئيسي وسننقل بقية البيانات إلى الوحدة المرفقة حديثًا.
بصفتك مستخدمًا جذريًا (root)، قم بتشغيل هذه الأوامر من الخادم الخاص بك:
mv /var/discourse/shared/standalone/postgres_data /var/postgres_data_discourse
mv /var/discourse/shared /mnt/volume_nyc1_05
تأكد من استبدال volume_nyc1_05 باسم وحدتك.
تعديل app.yml ليعكس التغييرات
افتح الملف /var/discourse/containers/app.yml في محرر النصوص المفضل لديك وابحث عن هذه الكتلة:
## The Docker container is stateless; all data is stored in /shared
volumes:
- volume:
host: /var/discourse/shared/standalone
guest: /shared
- volume:
host: /var/discourse/shared/standalone/log/var-log
guest: /var/log
استبدل الكتلة أعلاه بما يلي:
## The Docker container is stateless; all data is stored in /shared
volumes:
- volume:
host: /mnt/volume_nyc1_05/shared/standalone
guest: /shared
- volume:
host: /mnt/volume_nyc1_05/shared/standalone/log/var-log
guest: /var/log
- volume:
host: /var/postgres_data_discourse
guest: /shared/postgres_data
تأكد من استبدال volume_nyc1_05 باسم وحدتك.
احفظ ملف app.yml وأعد بناء الحاوية (container).
/var/discourse/launcher rebuild app
فويلا!
هذا كل شيء، لقد تم نقل جميع التحميلات والنسخ الاحتياطية الخاصة بك الآن إلى وحدة تخزين كتل DigitalOcean.