هناك عدد قليل من تحذيرات “غير مستوفاة التبعية النظيرة” أعلاه، ولكن هذا هو الخطأ الأول (بصرف النظر عن “موجود بالفعل” عند إعداد قاعدة البيانات، ولكنني أفهم أن هذا سلوك متوقع).
للأسف، الترقية التي بدأت فيها هذه المشكلة لأول مرة كانت قبل يوم من ذهابي في رحلة عائلية، لذلك كنت متعجلاً ولم يكن لدي وقت لاستكشاف المشكلة في حينه. لكنني أواجه هذا باستمرار. المضيف محدث بالكامل ولا أتذكر أنني قمت بأي شيء فريد بشكل خاص مع الإعداد. لقد وضعت /var/discourse على وحدة تخزين Digital Ocean منفصلة منذ حوالي 3 أشهر (والتي أعرف أنها غير موصى بها™ لأسباب تتعلق بالأداء، ولكن بالنسبة لمنتدى به مئات المستخدمين، اعتقدت أن الأمر يستحق المقايضة) ولكنها عملت بشكل جيد بعد هذا التغيير بقدر ما أستطيع أن أخبر.
للقيام بذلك، يجب عليّ الدخول إلى الحاوية. فعلت ذلك، وعندما أقوم بتشغيل الحاوية بعد ذلك، فإن الواجهة الويب تعرض
عفوًا
واجه البرنامج الذي يشغل منتدى المناقشة هذا مشكلة غير متوقعة. نعتذر عن الإزعاج.
تم تسجيل معلومات مفصلة حول الخطأ، وتم إنشاء إشعار تلقائي. سنلقي نظرة عليه.
لا يلزم اتخاذ أي إجراء إضافي. ومع ذلك، إذا استمرت حالة الخطأ، يمكنك تقديم تفاصيل إضافية، بما في ذلك خطوات إعادة إنتاج الخطأ، عن طريق نشر موضوع مناقشة في فئة ملاحظات الموقع.
./launcher logs app يعرض
[Wed 19 Jul 2023 11:52:05 PM UTC] Domains not changed.
[Wed 19 Jul 2023 11:52:05 PM UTC] Skip, Next renewal time is: 2023-08-21T00:34:21Z
[Wed 19 Jul 2023 11:52:05 PM UTC] Add '--force' to force to renew.
[Wed 19 Jul 2023 11:52:05 PM UTC] Installing key to: /shared/ssl/distroleaders.club_ecc.key
[Wed 19 Jul 2023 11:52:05 PM UTC] Installing full chain to: /shared/ssl/distroleaders.club_ecc.cer
[Wed 19 Jul 2023 11:52:05 PM UTC] Run reload cmd: sv reload nginx
fail: nginx: runsv not running
[Wed 19 Jul 2023 11:52:05 PM UTC] Reload error for :
Started runsvdir, PID is 530
ok: run: redis: (pid 544) 0s
ok: run: postgres: (pid 543) 0s
supervisor pid: 538 unicorn pid: 575
إذا دخلت الحاوية مرة أخرى، يمكنني تشغيل sv reload nginx بنجاح، ولكن هذا لا يغير السلوك.
أيضًا، إذا قمت بإعادة تشغيل ./launcher rebuild app، فسيتعين عليّ الدخول إلى الحاوية مرة أخرى لتشغيل bundle install مرة أخرى.
fatal: not a git repository (or any parent up to mount point /var)
دليل /var/discourse الخاص بك ليس مستودع git، مما يكسر التحديث التلقائي للمشغل والأدوات التي نستخدمها لتهيئة Discourse، وهذا بدوره يعني أنك عالق في صورة docker قديمة.
تحتاج إلى التراجع عن التغييرات التي أجريتها لكسر ذلك.
عندما نسخت الملفات إلى وحدة التخزين الخاصة بك، فشلت في نسخ .git، لذلك ستحتاج إلى استنساخه ونسخ الأشياء الأخرى إليه.
ربما يجب أن تجعل وحدة التخزين الخاصة بك تحتوي فقط على التحميلات، والتي أفترض أنها تشغل الجزء الأكبر من المساحة، ويمكنك بعد ذلك الحصول على التحميلات والنسخ الاحتياطي فقط على وحدة التخزين.
يا إلهي. أراهن أنني أستطيع تخمين ما فعلته بالضبط ويتضمن ذلك حقيقة أن * لا يتطابق مع .git في أمر rsync. لن تكون هذه هي المرة الأولى التي أستخدم فيها rsync لجعل حياتي أكثر صعوبة. شكراً لك على اكتشاف ذلك!
هل هناك سبب تقني لعدم تمكن إعادة البناء من الخروج عند تلك النقطة؟ كان من الممكن أن يسهل ذلك استكشاف الأخطاء وإصلاحها (على الرغم من أن البدء من الأعلى بدلاً من الأسفل كان سيؤدي أيضًا إلى ذلك).
لحسن الحظ، لا يزال لدي ملف tarball قبل الترحيل لأنني لم أفقد كل مهاراتي في إدارة الأنظمة على مر السنين.
هذا على أصغر قطرة رقمية، لذلك النظام هو الذي يشغل المساحة في الغالب. التحميلات والنسخ الاحتياطي معًا حوالي 100 ميجابايت. أعتقد أن ما سأفعله على الأرجح، إذا قمت بإجراء تغيير، هو الانتقال إلى قطرة أكبر تحتوي على مساحة أكبر على القرص.