אני ממשיך לקבל שגיאות בעת עדכון

בכל פעם שאני מנסה לעדכן, אני תמיד מקבל Sorry, there was an error updating Discourse. Please check the logs below. בעת עדכון דרך הדפדפן. אני תמיד צריך להשתמש בטרמינל וזה לא טוב, כי אז הפורום שלי יהיה מושבת תמיד למשך כ-30 דקות.

אם מישהו יכול לעזור לי כאן, זה יהיה מוערך.

שגיאות:

Summary
********************************************************
*** Please be patient, next steps might take a while ***
********************************************************
מפעיל מחדש את Unicorn, לשחרור זיכרון
מפעיל מחדש את unicorn pid: 603
ממתין ל-Unicorn לטעון מחדש.
ממתין ל-Unicorn לטעון מחדש..
ממתין ל-Unicorn לטעון מחדש...
ממתין ל-Unicorn לטעון מחדש....
ממתין ל-Unicorn לטעון מחדש.....
ממתין ל-Unicorn לטעון מחדש......
ממתין ל-Unicorn לטעון מחדש.......
ממתין ל-Unicorn לטעון מחדש........
ממתין ל-Unicorn לטעון מחדש.........
ממתין ל-Unicorn לטעון מחדש..........
ממתין ל-Unicorn לטעון מחדש...........
ממתין ל-Unicorn לטעון מחדש............
ממתין ל-Unicorn לטעון מחדש.............
ממתין ל-Unicorn לטעון מחדש..............
ממתין ל-Unicorn לטעון מחדש...............
ממתין ל-Unicorn לטעון מחדש................
ממתין ל-Unicorn לטעון מחדש.................
ממתין ל-Unicorn לטעון מחדש..................
ממתין ל-Unicorn לטעון מחדש...........
ממתין ל-Unicorn לטעון מחדש............
ממתין ל-Unicorn לטעון מחדש.............
ממתין ל-Unicorn לטעון מחדש..............
ממתין ל-Unicorn לטעון מחדש...............
$ cd /var/www/discourse וגם git reset --hard HEAD@{upstream}
HEAD נמצא כעת ב-fe1b1edba תיקון: מסיר + מטיפ הכלים של מתג ה-RTE (#33542)
$ bundle install --retry 3 --jobs 4
החבילה הושלמה! 143 תלויות Gemfile, 190 gems הותקנו כעת.
Gems בקבוצות 'test' ו-'development' לא הותקנו.
Gems בחבילה מותקנים ב-`./vendor/bundle`
3 gems מותקנים שעליהם אתה תלוי ישירות מחפשים מימון.
  הפעל `bundle fund` לפרטים
$ if [ -f yarn.lock ]; then yarn install; else CI=1 pnpm install; fi
היקף: כל 16 פרויקטי סביבת העבודה
קובץ הנעילה מעודכן, שלב הפתרון מדלג
כבר מעודכן

הושלם ב-9.1 שניות באמצעות pnpm v9.15.6
$ LOAD_PLUGINS=0 bundle exec rake plugin:pull_compatible_all
discourse-adplugin כבר בגרסה התואמת האחרונה
discourse-categories-suppressed כבר בגרסה התואמת האחרונה
discourse-doc-categories כבר בגרסה התואמת האחרונה
רשימת גרסאות לא תקינה ב-/var/www/discourse/plugins/discourse-landing-pages
discourse-landing-pages כבר בגרסה התואמת האחרונה
discourse-solved כבר בגרסה התואמת האחרונה
docker_manager כבר בגרסה התואמת האחרונה
$ SKIP_POST_DEPLOYMENT_MIGRATIONS=1 bundle exec rake multisite:migrate
מבצע המעבר הרב-אתרי פועל באמצעות 1 תהליכים

מעביר את ברירת המחדל
מאתחל את ברירת המחדל
*** מאגד נכסים. זה ייקח זמן *** 
$ bundle exec rake themes:update assets:precompile
מעדכן ערכות נושא עם מקביליות: 10
[db:default] 'כפתור כותרת נושא חדש' -  בודק...
[db:default] 'כפתור כותרת נושא חדש' -  מעודכן
[db:default] 'באנרים לקטגוריות' -  בודק...
[db:default] 'באנרים לקטגוריות' -  מעודכן
[db:default] 'נושא שניתן ללחוץ עליו' -  בודק...
[db:default] 'נושא שניתן ללחוץ עליו' -  מעודכן
[db:default] 'באנרים של תגים' -  בודק...
[db:default] 'באנרים של תגים' -  מעודכן
[db:default] 'קישורי ניווט' -  בודק...
[db:default] 'קישורי ניווט' -  מעודכן
[db:default] 'באנר קישור קבלת פנים' -  בודק...
[db:default] 'באנר קישור קבלת פנים' -  מעודכן
[db:default] 'אייקונים של תגים' -  בודק...
[db:default] 'אייקונים של תגים' -  מעודכן
[db:default] 'שיתוף חברתי' -  בודק...
[db:default] 'שיתוף חברתי' -  מעודכן
[db:default] 'בקרת תצוגת תפריט ניווט' -  בודק...
[db:default] 'בקרת תצוגת תפריט ניווט' -  מעודכן
[db:default] 'DiscoTOC' -  בודק...
מגבלת heap_size_limit של Node.js נמוכה מ-2048MB. מגדיר --max-old-space-size=2048 ו-CHEAP_SOURCE_MAPS=1
בנייה קיימת אינה ניתנת לשימוש חוזר.
- קיים: {"ember_env"=">"production", "core_tree_hash"=">"c71c1ad482ff7f24c3ad3a76d5a521861f29e1fb"}
- נוכחי: {"ember_env"=">"production", "core_tree_hash"=">"d026d5621e9421eaf67123aab7361a44f0fa9c31"}
מבצע בניית ליבה מלאה...
בנייה
סביבה: production
ההגדרה 'staticAddonTrees' תהיה כברירת מחדל true בגרסה הבאה של Embroider ולא ניתן יהיה לכבות אותה. כדי להתכונן לכך, עליך להגדיר 'staticAddonTrees: true' בקובץ התצורה של Embroider שלך.
ההגדרה 'staticAddonTestSupportTrees' תהיה כברירת מחדל true בגרסה הבאה של Embroider ולא ניתן יהיה לכבות אותה. כדי להתכונן לכך, עליך להגדיר 'staticAddonTestSupportTrees: true' בקובץ התצורה של Embroider שלך.
בנייה...
...[ConfigLoader]
...[Babel: @embroider/macros > applyPatches]
...[Babel: pretty-text > applyPatches]
...[Babel: @ember/legacy-built-in-components > applyPatches]
...[Babel: ember-source > applyPatches]
[BABEL] הערה: מחולל הקוד ביצע אופטימיזציה מחדש של העיצוב של /var/www/discourse/app/assets/javascripts/discourse/ember/ember-template-compiler.js מכיוון שהוא חורג מהמקסימום של 500KB.
[BABEL] הערה: מחולל הקוד ביצע אופטימיזציה מחדש של העיצוב של /var/www/discourse/app/assets/javascripts/discourse/ember/ember.js מכיוון שהוא חורג מהמקסימום של 500KB.
...[Babel: @glimmer/component > applyPatches]
...[Babel: @ember/render-modifiers > applyPatches]
...[Babel: dialog-holder > applyPatches]
...[Babel: ember-this-fallback > applyPatches]
...[Babel: ember-buffered-proxy > applyPatches]
...[Babel: ember-cache-primitive-polyfill > applyPatches]
...[Babel: float-kit > applyPatches]
...[Babel: select-kit > applyPatches]
...[@embroider/compat/app]
...[@embroider/webpack]
...[@embroider/webpack]
...[@embroider/webpack]
...[@embroider/webpack]
...[@embroider/webpack]
...[@embroider/webpack]
...[@embroider/webpack]
...[@embroider/webpack]
...[@embroider/webpack]
...[@embroider/webpack]
...[@embroider/webpack]
...[@embroider/webpack]
...[@embroider/webpack]
...[@embroider/webpack]
...[@embroider/webpack]
undefined
 ERR_PNPM_RECURSIVE_EXEC_FIRST_FAIL  הפקודה נהרגה עם SIGKILL (סיום כפוי): ember build -prod
/var/www/discourse/script/assemble_ember_build.rb:103:in `system': הפקודה נכשלה עם יציאה 1: pnpm (RuntimeError)
	from /var/www/discourse/script/assemble_ember_build.rb:103:in `<main>'
Docker Manager: נכשל בשדרוג
#<RuntimeError: RuntimeError>
/var/www/discourse/plugins/docker_manager/lib/docker_manager/upgrader.rb:211:in `run'
/var/www/discourse/plugins/docker_manager/lib/docker_manager/upgrader.rb:112:in `upgrade'
/var/www/discourse/plugins/docker_manager/scripts/docker_manager_upgrade.rb:19:in `block in <main>'
/var/www/discourse/plugins/docker_manager/scripts/docker_manager_upgrade.rb:6:in `fork'
/var/www/discourse/plugins/docker_manager/scripts/docker_manager_upgrade.rb:6:in `<main>'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/railties-7.2.2.1/lib/rails/commands/runner/runner_command.rb:44:in `load'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/railties-7.2.2.1/lib/rails/commands/runner/runner_command.rb:44:in `block in perform'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activesupport-7.2.2.1/lib/active_support/execution_wrapper.rb:91:in `wrap'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/railties-7.2.2.1/lib/rails/commands/runner/runner_command.rb:70:in `conditional_executor'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/railties-7.2.2.1/lib/rails/commands/runner/runner_command.rb:43:in `perform'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/thor-1.3.2/lib/thor/command.rb:28:in `run'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/thor-1.3.2/lib/thor/invocation.rb:127:in `invoke_command'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/railties-7.2.2.1/lib/rails/command/base.rb:178:in `invoke_command'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/thor-1.3.2/lib/thor.rb:538:in `dispatch'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/railties-7.2.2.1/lib/rails/command/base.rb:73:in `perform'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/railties-7.2.2.1/lib/rails/command.rb:71:in `block in invoke'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/railties-7.2.2.1/lib/rails/command.rb:149:in `with_argv'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/railties-7.2.2.1/lib/rails/command.rb:69:in `invoke'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/railties-7.2.2.1/lib/rails/commands.rb:18:in `<main>'
/usr/local/lib/ruby/3.3.0/bundled_gems.rb:69:in `require'
/usr/local/lib/ruby/3.3.0/bundled_gems.rb:69:in `block (2 levels) in replace_require'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/bootsnap-1.18.6/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:30:in `require'
bin/rails:18:in `<main>'
מפעיל 1 עובדי Unicorn שהופסקו בתחילה

אתה צריך ליצור קובץ החלפה גדול יותר.
הייתה לי אותה הבעיה. זה פתר את זה.

לייק 1

האם תוכל להסביר לי כיצד? אני לא מכיר את זה. אני זוכר שמישהו דיבר על זה, אבל אני לא חושב שעשיתי שינויים כלשהם (ובכן, כנראה שלא עשיתי וזה מה שגורם לזה).
תודה

אני ממליץ לשדרג משורת הפקודה

cd /var/discourse
./launcher rebuild app

ייתכנו עדיין בעיות זיכרון. אם זה נכשל, כלול את השגיאה ואת הפלט של

free -h
2 לייקים

השתמש בגוגל או ביוטיוב:
“Linux swap file”

לייק 1

Here’s Digital Oceans guide:

You usually need to add as much swap as you have RAM.

לייק 1

https://meta.discourse.org/search?context=topic&context_id=373634&q=Node.js%20heap_size_limit%20is%20less%20than%202048MB&skip_context=true

לייק 1

Updates
After a few conversations with Claude, here’s what’s happening:

I initially had this

sudo swapon --show
NAME      TYPE SIZE USED PRIO
/swapfile file   2G   1G   -2

That was still causing the error.

So I was able to increase it to 4GB, I believe:

sudo swapon --show
NAME      TYPE SIZE   USED PRIO
/swapfile file   4G 714.4M   -2

Now, here’s what’s strange: while I was doing this, I went back to the update page and to my surprise, everything was updated…
How is that possible, if it was showing me that error? :confused:

Anyway, I now at least understand that a swapfile is related to disk space, not RAM. I’m using DigitalOcean’s droplet 1GB RAM, 25GB disk.

So I guess having the 4GB swapfile is ok for now?
But still, why did it update, even after showing me that error?

A swapfile is a way to use some of your disk space as very, very slow RAM, so it’s related to both disk space and RAM.

25GB is just barely enough space. You’ll need to do a ./launcher cleanup before pretty much every command line upgrade.

לייק 1

What I meant was that, when I saw discussions about it, when people said “create a 2GB swapfile” I thought it was related to the amount of RAM, so in my case, I would not be able to do it, because I only have 1GB of RAM. Now, I understand that the swapfile, is in fact disk space, almost like creating a small partition. So, yes, they are related, because they “communicate” with each other when necessary, but I was being more literal with my comment.

That’s all I can afford at the moment and since I still have no real community, that’s enough. I will upgrade as the community grows.

So, you’re saying that before each update, even when using the admin panel to update, I should run ./launcher cleanup via Terminal?

No. Using the admin panel doesn’t make docker make more images it’s not using, but you may not have enough memory (ram plus swap) to do the upgrade from the admin panel.

כל זה קצת מבלבל אותי…
כמה אנשים אמרו שהייתה להם אותה בעיה כמוני, ויצירת קובץ החלפה (swapfile) בגודל 2GB עזרה להם. כעת יצרתי את קובץ ההחלפה בגודל 4GB, אבל זה היה אחרי שעדכנתי, אז אצטרך לחכות לעדכון נוסף כדי לבדוק זאת.

אז, לדוגמה, אם אשדרג ל-2GB של RAM האם זה יספיק, גם אם שטח הדיסק עדיין 25GB?

אני חדש מאוד בכל זה, אז אני מתנצל אם זה ברור מדי לרוב האנשים. אני רק מנסה להבין דברים תוך כדי שאני עובד על זה.

מכונת 1GB עם 4GB swap אמורה להספיק.

אני אישית הייתי ממליץ לפחות 2GB עם 2GB swap להתחלה, אבל אתה עומד בדרישות המינימום שפורסמו להתקנה סטנדרטית.

הייתי ממשיך הלאה ומשתמש בו, ורק משדרג אם תגלה שהדברים איטיים מדי.

לא אמורות להיות לך בעיות עם זיכרון עכשיו.

2 לייקים

Except, as you said, HDD will be full quite fast, and cleanup is must to do no matter how much there is RAM.

תודה. לעת עתה אני רק רוצה להתחיל להוסיף תוכן ולהוסיף כמה משתמשים עד שיהיה הגיוני לשדרג.

לא קשור לנושא, אבל עדיין קשור לשטח הדיסק: כשעברתי על הכל, שמתי לב שאני משתמש בכ-18GB וכששאלתי את ChatGPT, הוא אמר שזה נורמלי ש-Discourse תופס כל כך הרבה מקום?

אם כן, אז שרת ה-25GB שלי היה משתמש ב-18GB להתקנה + 4GB לקובץ ההחלפה (swapfile), מה שמשאיר לי לא הרבה מקום. האם אתה יכול לאשר זאת?

אני לא הולך להתווכח עם הרובוט שלך.

אתה צודק שה-4GB יצא משטח הדיסק הזמין שלך (כמובן).

2 לייקים

בדקתי זה עתה את כל התיקיות והבחנתי ש-12GB משמשים תיקיה זו:

/var/lib/docker/overlay2/

מה זה והאם ניתן להקטין אותו על ידי הסרת קבצים שאינם נחוצים?

Perhaps see previous thread
Discourse upgrade fails due to insufficient disk space on 25G droplet

Perhaps also this thread

לייק 1

Maybe someone could say something like:

Without any extra context, that initial comment was not very helpful for me. I wasn’t expecting Discourse to use 18GB of disk space when other platforms like phpBB are way lighter (not being an expert, I have no clue why one platform is lighter than the other, but they are different, apparently). So when you said that 25GB is barely enough space without adding more context to it, while there’s nothing on the official installation page that says that Discourse will maybe that N gigs of space, I assumed that the default Digital Ocean 1GB RAM with 25GB was more than enough and maybe bigger communities would struggle with just 25GB. Since mine is just in the beginning, I didn’t see disk space as an issue.

Hope that makes sense.

לייק 1