آخر تحديث هذا الصباح 03/08/2026 كسر منصتي discourse، هل أنا الوحيد؟

بعد التحديث عبر واجهة المستخدم الرسومية (GUI) هذا الصباح، أصبح الموقع غير متاح. يبدو أنه حاول التحديث من Postgres V15 إلى V18، لكنه فشل. لذلك، قمت بإعادة الإنشاء من داخل التطبيق عبر أداة التشغيل (launcher)، دون جدوى. كما ظهرت شكوى تتعلق بـ VIPS /usr/local/lib/libvips.so.42

هل لديكم أي أفكار، أم أن المشكلة لديّ فقط؟

يُعدّ إعادة البناء مرة ثانية دائماً أمراً يستحق المحاولة، خاصةً عند تحديث إصدار قاعدة البيانات. انظر إلى الموضوع القريب

إذا استمرّت المشكلة، يرجى لصق مئة سطر تقريباً من المخرجات التي رأيتها، ويفضل ذلك في كتلة رمز.

وكما يشير كريس، على الرغم من أن النصيحة قد تكون متأخرة قليلاً بالنسبة لك:

حاولت ذلك بالفعل، ولكن بالطبع لم أرى الموضوع الذي تشير إليه. لقد قمت بعمل نسخة احتياطية قبل أن أبدأ التحديث. لذا، تمكنت للتو من جعله يعمل من خلال التحديث اليدوي إلى PG V18 داخل الحاوية، وتثبيت وإشارة إلى إصدار أحدث من vips في الحاوية:

يبدو أن الموقع يعمل الآن. ثم قمت بتشغيل إعادة بناء كاملة ونجحت، لذا على الأرجح كل شيء على ما يرام الآن.

vips-8.18.4

PostgreSQL 18.4

ومع ذلك، سأدخل وأقرأ الموضوع الذي نشرته بالتفصيل، لأن لدي مثيلًا آخر على جهاز آخر يجب تحديثه أيضًا.

شكرًا لك Ed_S!

من المثير للاهتمام أن ملف app.yml الخاص بي منذ أكتوبر 2025 يحتوي بالفعل على:

templates:

  • “templates/postgres.template.yml”

هل أقرأ شيئاً بشكل خاطئ من الموضوع الآخر؟

أعتقد أن هذا يعني أن لديك الخيار الافتراضي، وهو عدم تثبيت PostgreSQL على إصدار معين، بل اعتماد ما تفضله Discourse.

(سيثبت الأشخاص إصدارًا معينًا عندما يرون أن الإصدار الجديد قادم ولا يريدون تبنيه. لكن عليهم أن يتصرفوا قبل أن يصل بشكل غير متوقع.)

حسنًا، آه، لذا لست متأكدًا مما حدث خطأ في تحديثي هذا الصباح، ولماذا فشل. أنا حذر من ترقية الموقع الآخر حتى أفهم سبب فشل هذا الموقع، لأنني لا أريد تكرار الفشل، خاصة أنني لا أحب ترقية الأشياء يدويًا داخل الحاوية كما فعلت لتشغيل هذا الموقع الأول.

أظن أن هذا التحديث، الصادر اليوم، والذي يقدم الإصدار 18 من PostgreSQL، سيتطلب إعادة بناء مرتين. فمن خلال واجهة الويب، لا يمكن إجراء إعادة بناء واحدة فقط، وإذا كان ظني صحيحًا، فسيبدو أن تحديث واجهة الويب يفشل دائمًا. في الواقع، لم يفشل، لكنه لم يكتمل إلا halfway.

قد يكون هذا الظن خاطئًا - لا يمكنني اختباره بسهولة.

لقد قال أكثر من شخص، بما في ذلك أنا، إنهم لم يعودوا يستخدمون آلية التحديث عبر الويب، لأنه في حال فشلها، ستحتاج إلى زيارة سطر الأوامر على أي حال. من الصحيح أنه يعمل في 95% من الأحيان، أو ربما أكثر. لكن نظرًا لأنه يفشل أحيانًا، فأنا شخصيًا لا أستخدمه.

حسنًا، فكرة جيدة بشأن تحديث سطر الأوامر بدلاً من واجهة المستخدم الرسومية. الموقع الأول يعمل على أوبونتو 22.04، والموقع الثاني الذي لا يزال بحاجة إلى ترقية يعمل على 24.04. لقد حصلت على ما يكفي من الإثارة هذا الصباح. عندما أحاول تحديث الموقع الثاني عبر سطر الأوامر فقط، سأعود بالنتائج. لا زلت أرى ملفات vips القديمة على الخادم الثاني /usr/local/lib/libvips.so.42، لذا آمل أن يتم ترقية هذه الملفات كما هو مطلوب هذه المرة، إذ لم يحدث ذلك في المرة الأولى. شكرًا لك.

OJ، للتوضيح فقط، فشل تحديث Discourse الأولي لدي بالتأكيد. حتى بعد إعادة البناء عبر سطر الأوامر (CLI) بعد تحديث واجهة المستخدم الرسومية (GUI). لذا، كان علي تحديث الحاويات يدوياً إلى الإصدار 18 من كل من Postgres و vips. آمل أن تكون النتيجة أفضل في الموقع الثاني. تابعونا.

هذه حالة سيئة للغاية.

تأكد من توفر مساحة كافية على القرص. لاحظ أنه في الموضوع الآخر يُوصى بضعف حجم قاعدة البيانات.

بالتأكيد، ولدي مساحة قرص كافية على كلا الخادمين. هذا هو الخادم الأول

df -h /var/discourse
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 194G 25G 170G 13% /

الخادم الثاني:

df -h /var/discourse
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 193G 26G 168G 14% /

إذن، يبدو أن موقع Discourse الآخر على الخادم 2 مُعد بنفس طريقة الخادم 1 الذي فشل، ولا أريد تجربة هذا الخادم الثاني بعد الآن: ليس أن الأمر يهم، لكنني أرى في الحاوية:

/var/discourse# ./launcher enter app
تم اكتشاف معمارية x86_64.

…app:/var/www/discourse# which vips
/usr/bin/vips

ldd /usr/bin/vips | grep vips
libvips.so.42 => /usr/local/lib/libvips.so.42 (0x000070c9601bb000)

ls -l /usr/local/lib/libvips*
-rwxr-xr-x 1 root root 3097864 Jul 26 02:22 /usr/local/lib/libvips.so.42

ps aux | grep ‘[p]ostgres’
/usr/lib/postgresql/15/bin/postmaster -D /etc/postgresql/15/main

/usr/lib/postgresql/15/bin/postgres --version
postgres (PostgreSQL) 15.18 (Debian 15.18-1.pgdg12+1)