إعادة بناء Discourse لا تعمل

كانت لدي رسالة خطأ عند محاولة إضافة منشور برسوم مدمجة. بدا أن هناك مشكلة في حماية الملف واقترح عليّ تنفيذ:

./launcher rebuild app

لقد فعلت ذلك وحصلت على هذه الأخطاء:

FAILED
--------------------
Pups::ExecError: cd /var/www/discourse && su discourse -c 'bundle exec rake themes:update assets:precompile' failed with return #<Process::Status: pid 515 exit 1>
Location of failure: /usr/local/lib/ruby/gems/2.7.0/gems/pups-1.1.1/lib/pups/exec_command.rb:117:in `spawn'
exec failed with the params {"cd"=>"$home", "hook"=>"assets_precompile", "cmd"=>["su discourse -c 'bundle exec rake themes:update assets:precompile'"]}
bootstrap failed with exit code 1
** FAILED TO BOOTSTRAP ** please scroll up and look for earlier error messages, there may be more than one.
./discourse-doctor may help diagnose the problem.
5c01a6b7b892f68e51e8f275b360af36d7b6f0ac8a3e22c837b0afaaef1705f4

الخطأ محير بعض الشيء. يظهر هذا بعد حوالي خمس دقائق. الشيء هو أن بياناتي موجودة في /var/discourse وليس في /var/www/discourse. كان آخر نسخة احتياطية لي قبل شهر وأود إصلاح هذا وعدم فقدان الشهر الماضي. أي أفكار؟ هل من الممكن عمل نسخة احتياطية لقاعدة البيانات على النظام الذي لن يعاد بناؤه ثم استعادة قاعدة البيانات بطريقة ما على النسخة الاحتياطية؟

هناك خطأ سابق أيضًا: “نص مُنسق مسبقًا”

warning Skipping preferred cache folder "/home/discourse/.cache/yarn" because it is not writable.
warning Selected the next writable cache folder in the list, will be "/tmp/.yarn-cache-1000".
warning Cannot find a suitable global folder. Tried these: "/usr/local, /home/discourse/.yarn"
node:fs:1336
  handleErrorFromBinding(ctx);
  ^

Error: EACCES: permission denied, mkdir '/home/discourse/.config/configstore'
You don't have access to this file.

    at Object.mkdirSync (node:fs:1336:3)
    at AsyncFunction.module.exports.sync (/var/www/discourse/app/assets/javascripts/node_modules/make-dir/index.js:114:6)
    at Configstore.set all [as all] (/var/www/discourse/app/assets/javascripts/node_modules/configstore/index.js:59:12)
    at Configstore.set (/var/www/discourse/app/assets/javascripts/node_modules/configstore/index.js:91:12)
    at clientId (/var/www/discourse/app/assets/javascripts/node_modules/ember-cli/lib/cli/index.js:55:17)
    at module.exports (/var/www/discourse/app/assets/javascripts/node_modules/ember-cli/lib/cli/index.js:105:13)
    at Object.<anonymous> (/var/www/discourse/app/assets/javascripts/node_modules/ember-cli/bin/ember:34:1)
    at Module._compile (node:internal/modules/cjs/loader:1103:14)
    at Object.Module._extensions..js (node:internal/modules/cjs/loader:1157:10)
    at Module.load (node:internal/modules/cjs/loader:981:32) {
  errno: -13,

لا يوجد حتى مجلد /home/discourse على الإطلاق.

هذه المسارات موجودة خارج الحاوية وداخلها.

هل لديك أي إضافات قد تسبب هذا؟ هل يمكنك حذف أي إضافات غير قياسية وتعيينها مما يصلح ذلك؟

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

أعتقد أنني رأيت التزامًا بإزالة chown، لذلك قد يكون خطأً.

ولكن هل لديك أي إضافات غير قياسية؟

خطابتي بسيطة جدًا، لذا لا. أفضل تخمين لدي هو أن هذا حدث بعد ترقيتي إلى 2.9.0.beta4 قبل بضعة أيام. لم ألاحظ المشكلة حتى الآن. كان Beta3 يعمل بشكل جيد. بدا لي أن جزءًا كبيرًا من الحاوية قد تم تغييره إلى root. ألا ينبغي أن يكون معظمها مملوكًا لـ discourse؟

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

تم الاستمرار في Error trying to edit a post with an image in (NginX Proxy Manager?) - #22 by vmsman