هل يمكنني وضع نسخة احتياطية من قاعدة البيانات في مستودع Git، أو في تبويب الإصدارات، بحيث يتمكن أي شخص من مساحة الصنّاع الخاصة بي ببساطة من تشغيل docker-compose، ثم تطبيق النسخة الاحتياطية عبر واجهة الويب للعودة إلى حالة عمل سليمة؟
أم أن هناك تفاصيل مهمة داخل النسخة الاحتياطية قد تمنح وصولًا إداريًا كاملاً إلى الأمور، ما يعادل منح شخص ما وصولًا كاملاً إلى نظام الملفات الخاص بجهازك؟
أولاً، لا ندعم تثبيتات Bitnami. إذا اخترت هذا المسار بدلاً من اتباع إرشادات التثبيت الرسمية، فستكون بمفردك من حيث الدعم.
ثانياً، نعم، لا ترغب في وضع نسخة احتياطية من Discourse في مكان عام. فجميع المعلومات الموجودة على الموقع ستكون متاحة لأي شخص يرغب في الوصول إليها. ويشمل ذلك الرسائل الخاصة، والمواضيع في الفئات الآمنة، بالإضافة إلى المعلومات الشخصية مثل عناوين IP، والبريد الإلكتروني، وكلمات المرور المشفرة.
أفهم أن حزم Bitnami الخاصة بـ Docker لن تكون مدعومة، لكن لا يوجد خيار أصلي أو رسمي لي، فأي شيء أكثر تعقيدًا من “docker-compose up -d ثم فتح واجهة الويب واستعادة النسخة الاحتياطية” يكون معقدًا جدًا على الأعضاء الذين سيتولون الإدارة في حال حدوث أي شيء لصاحب الصيانة.
شكرًا لتأكيدك أن قاعدة البيانات تتضمن كل شيء نصًا واضحًا باستثناء كلمات المرور
لماذا قد تحتاج إلى دعم لـ docker-compose up -d أصلاً؟ وعلاوة على ذلك، لماذا قد يفشل ذلك؟ لكي يحدث ذلك، يجب أن يفشل أحد عناصر النظام الأساسي مثل apt ومستودعاته، أليس كذلك؟ الأمر لا يتعدى كونه نظامًا مبنيًا حول الحزم والبرمجيات التي يوفرها discourse. إنه تابع لـ discourse، وليس العكس.
ما الذي تفعله Bitnami في ملف الـ compose الخاص بها يختلف عن ما يفعله launcher؟ إنها ببساطة تقوم بما كنت ستفعله بالفعل، أتمتة الخطوات التي يتعين عليك اتباعها مع launcher بطريقة أكثر توافقًا مع Docker، بالتأكيد.
لستُ عرافًا ولا أرغب في التنبؤ بالمستقبل، لكن كل ما يفعله docker-compose هو العمل كسكربت Bash أكثر موثوقية. يمكنني القيام بكل هذا بسكربت Bash، سيكون طوله 100 سطر ومليئًا بأوامر Docker، وأنا متأكد من أنك ستدعمني ولا يزال سكربت Bash السخيف وغير القابل للصيانة والغير مجدي الخاص بي. ما المشكلة هنا؟ لماذا يؤدي إضافة “docker-compose” إلى الجملة إلى وضعها في فئة “غير مدعوم”؟
حسناً، أفهم تلك المنطقية الآن. كنت أظن أنها من نوع “اذهب بعيداً”، ولم أدرك وجود فصل بين الدعم الرسمي وغير الرسمي، حيث أنني عادةً ما أذهب إلى غرف الدردشة الفورية (IRCs) لطرح مثل هذه الأسئلة.
إذا لم تكن بحاجة إلى دعم لذلك، لما بدأت هذا الموضوع.
نحن لا نعلم، وأنت أيضًا لا تعلم.
إذن أنت جاهز!
./discourse-setup أسهل في الكتابة وأكثر وضوحًا من docker-compose up -d. يتولى العديد من المهام ويعمل مع العديد من الأشخاص الذين لم يروا سطر الأوامر من قبل. كما أن لأعضائك فرصة أفضل للحصول على المساعدة إذا قمت بالتثبيت بالطريقة التي فعلها المئات الآخرون.
إذا كنت ترغب في استخدام Bitnami، توجه إلى منتديات Bitnami للحصول على الدعم.
إذا كان هذا هو روح المشروع، إلخ، فلا بأس. أنا فقط أحب أن أستطيع الذهاب إلى قناة IRC والحصول على إجابات منطقية وتعاونية وغير آلية حول المصادر المفتوحة، وهذا هو السبب الوحيد الذي يجعلني أقدم أي نوع من الدعم هنا. الكلمة المفتاحية هي ‘تعاوني’، بدلاً من القول ‘هذا المشروع مختلف جدًا’ بينما في الواقع ليس مختلفًا كثيرًا.
لقد كنت في قناة IRC الخاصة بـ Docker للعديد من الأمور غير المرتبطة به. Docker لا ‘تدعم’ Discourse رسميًا، لكنهم بالتأكيد ساعدوني في إعدادها، كما فعلوا مع Nextcloud وبعض المشاريع الأخرى. ربما انتهى بي المطاف في الفئة الخاطئة، آسف.
بالتأكيد يمكنك الحصول على هذه الإجابات هنا، ولكن إذا كان علينا دعم N طرق مختلفة لنشر برنامجنا، فإن قدرتنا على دعم هذه الطرق (حيث أن جميعها ما عدا واحدة يتم تنفيذها من قبل كيان آخر) ستؤدي إلى تعقيد دعمنا أن يرتفع بشكل هائل.
أحب هذه الإجابة الموجزة:
هذا هو جوهر المشكلة: ليس لدينا أي فكرة على الإطلاق عما يقومون به، وكيف قد يؤدي ما فعلوه إلى تعطيل الترقية أو منعها أو التسبب في مشاكل غريبة بشكل خفي، ولا نعرف أيضًا كيفية التفاعل مع إعداداتهم المخصصة.
نعدك بأن اتباع التعليمات المحددة سيجعلها تعمل. نحن نرغب حقًا، حقًا، حقًا، في أن تعمل، خاصة إذا كان هناك احتمال بأنك ستترك الأمر لشخص آخر للتعامل معه لاحقًا. إذا بحثت عن Bitnami هنا، فستجد العشرات من الأشخاص الذين حاولوا واستسلموا.
لكن ربما يتدخل شخص ما نجح في جعل Bitnami تعمل وهو سعيد جدًا بذلك قريبًا.
هاها! حسنًا، لتقديم Docker لشخص الآن، سأعرضه لشخص يبلغ من العمر 38 عامًا تقريبًا، استخدم يونكس لسنوات طويلة ولا يعرف شيئًا عنه. سأخبرك كيف تسير الأمور، سيناريو الاختبار هو هذا.
سنقوم ببساطة بتشغيل docker-compose up -d ثم نستورد قاعدة البيانات من النسخة الاحتياطية، وسنرى كيف تسير الأمور
تحتوي النسخة الاحتياطية الفعلية لقاعدة بيانات Discourse على مجموعة من البيانات، بما في ذلك كلمات المرور المشفرة، ومحتوى جميع المنشورات، وجميع معلومات المستخدمين (في الممارسة العملية، مجرد عنوان البريد الإلكتروني). لن يكون ذلك جيدًا إذا سقطت هذه البيانات في أيدي شخص خبيث يخطط لإيذائك، رغم أن الأمر يعتمد على مقدار ما هو منشور علنًا مقابل الرسائل الشخصية أو الفئات الآمنة… إلخ.
ومع ذلك، فإن الحصول على قاعدة بيانات Discourse لا يمنح أي شخص وصول SSH إلى الخادم الذي تعمل عليه Discourse، بأي شكل من الأشكال.
هذا أفضل ما يمكنني تقديمه للإجابة على منشورك الأول، رغم أنني غير واضح تمامًا بشأن ما هو سؤالك فعليًا في هذه المرحلة.
حسناً، أعرف بالتأكيد أن هذا لن يمنحهم وصولاً إلى shell. كنت فقط أتساءل عن طبيعة المحتوى المضمن، وما إذا كان يتم تحليله لاحقاً بواسطة قاعدة البيانات بمجرد فتحه، مثل طريقة عمل Bitwarden على سبيل المثال. لم أكن أريد افتراض أن النظام غير آمن وإضافة تشفير أو إجراءات أمان غير ضرورية فوق ذلك، لذا سألته هنا.