غير قادر على إعادة بناء discourse

عندما أحاول تشغيل ./launcher rebuild app ، فإنه يعطي خطأ.

root@amsaal:~# cd /var/discourse/
root@amsaal:/var/discourse# ./launcher rebuild app
تم اكتشاف بنية x86_64.
fatal: No such ref: HEAD
fatal: No such ref: HEAD
إيقاف الحاوية القديمة

  • /usr/bin/docker stop -t 600 app
    app
    2.0.20241203-0251: Pulling from discourse/base
    Digest: sha256:d5d4e6d361d56745e37f2609db58a6970cc9b3fcd26d0b2dcba23d0cb581f067
    Status: Image is up to date for discourse/base:2.0.20241203-0251
    docker.io/discourse/base:2.0.20241203-0251
    /usr/local/lib/ruby/gems/3.3.0/gems/pups-1.2.1/lib/pups.rb
    /usr/local/bin/pups --stdin
    docker: invalid reference format: repository name (library/#) must be lowercase.
    See ‘docker run --help’.
    cat: cids/app_bootstrap.cid: No such file or directory
    bootstrap failed with exit code 125
    ** 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.
    Container name cannot be empty
    root@amsaal:/var/discourse#

هل تحققت من حالة مستودع المشغل؟

git status

root@amsaal:/var/discourse# git status

لم يتم إجراء أي التزامات بعد

الملفات غير المتعقبة:
(استخدم “git add …” لتضمينها فيما سيتم الالتزام به)
.github/
.gitignore
LICENSE
README.md
discourse-doctor
discourse-setup
image/
launcher
rebuild.log
samples/
scripts/
templates/
tests/

لم تتم إضافة أي شيء للالتزام ولكن توجد ملفات غير متعقبة (استخدم “git add” لتتبعها)
root@amsaal:/var/discourse#

كان يجب أن ترى شيئًا كهذا:

# git status
On branch main
Your branch is up to date with 'origin/main'.

nothing to commit, working tree clean

لذلك أعتقد أن مجلد /var/discourse الخاص بك به خلل - لم يعد متصلاً بالمستودع. هل قمت بطريقة ما بتنظيف أو فقدان أو إعادة تسمية المجلد الفرعي .git؟

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

لم ألمس أي شيء في الواقع؟ كيف يمكنني إصلاحه؟

عذرًا، لا أعرف. هل لديك مجلد فرعي .git؟ ماذا يوجد فيه؟

في حالتي، يبدو ملف الإعدادات كالتالي:

# cat .git/config
[core]

\t\trepositoryformatversion = 0
\t\tfilemode = true
\t\tbare = false
\t\tlogallrefupdates = true
[remote "origin"]
\t\turl = https://github.com/discourse/discourse_docker.git
\t\tfetch = +refs/heads/*:refs/remotes/origin/*
[branch "main"]
\t\tremote = origin
\t\tmerge = refs/heads/main

لكن هذا للمرجع. لا أعتقد أن الإصلاح هو تعديل ملف إعدادات!

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

لدي نفس النتيجة

root@amsaal:/var/discourse# cat .git/config
[core]
repositoryformatversion = 0
filemode = true
bare = false
logallrefupdates = true
[remote “origin”]
url = GitHub - discourse/discourse_docker: A Docker image for Discourse
fetch = +refs/heads/:refs/remotes/origin/
[branch “main”]
remote = origin
merge = refs/heads/main

و git status

root@amsaal:/var/discourse# git status
On branch main
Your branch is based on ‘origin/main’, but the upstream is gone.
(use “git branch --unset-upstream” to fixup)

Changes not staged for commit:
(use “git add …” to update what will be committed)
(use “git restore …” to discard changes in working directory)
modified: .github/workflows/build.yml
modified: LICENSE
modified: README.md
modified: templates/postgres.13.template.yml
modified: templates/postgres.15.template.yml
modified: templates/postgres.template.yml
modified: templates/web.ssl.template.yml
modified: templates/web.template.yml

Untracked files:
(use “git add …” to include in what will be committed)
rebuild.log

no changes added to commit (use “git add” and/or “git commit -a”)

يبدو أنك قمت بتغيير شيء ما - أحدث git status لديك يعطي نتائج مختلفة جدًا عن تقريرك السابق. هذا غامض!

إذًا، هل يمكن إعادة تثبيت ديسكورس لحل المشكلة، وهل يمكنك تقديم المشورة حول كيفية القيام بذلك من خلال SSH؟

لإعادة التثبيت الكامل، تحتاج إلى النسخة الاحتياطية الكاملة (بما في ذلك ملف app.yml الخاص بك) ونظام تشغيل جديد على مثيلك.

الإرشادات موجودة هنا: INSTALL-cloud

قد يكون من الأفضل تجربة التثبيت على مثيل جديد. ستحتاج إلى إضافة عنوان IP الجديد إلى نطاق فرعي مؤقت في نظام أسماء النطاقات (DNS) الخاص بك. أو، إذا كنت راضيًا عن فترة التوقف، فما عليك سوى تحديث نظام أسماء النطاقات (DNS) الخاص بك إلى عنوان IP الجديد.

تحتاج إلى أن يكون لديك بعض الفكرة عما تفعله، وإلا فإنك بحاجة إلى المساعدة. آسف، لا يمكنني تقديم هذه المساعدة.