Impossibile ricostruire discourse

ogni volta che provo a ./launcher rebuild app, ricevo un errore.

root@amsaal:~# cd /var/discourse/
root@amsaal:/var/discourse# ./launcher rebuild app
x86_64 arch rilevato.
fatal: No such ref: HEAD
fatal: No such ref: HEAD
Stopping old container

  • /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#

Hai controllato lo stato del repository del launcher?

git status

root@amsaal:/var/discourse# git status

Nessun commit ancora

File non tracciati:
(usa “git add …” per includerli in ciò che verrà committato)
.github/
.gitignore
LICENSE
README.md
discourse-doctor
discourse-setup
image/
launcher
rebuild.log
samples/
scripts/
templates/
tests/

niente aggiunto al commit ma sono presenti file non tracciati (usa “git add” per tracciarli)
root@amsaal:/var/discourse#

Dovresti aver visto qualcosa di simile a questo:

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

nothing to commit, working tree clean

quindi penso che in qualche modo la tua directory /var/discourse sia danneggiata e non sia piĂš collegata al repository. Hai in qualche modo riordinato, perso o rinominato la sottocartella .git?

1 Mi Piace

non ho toccato nulla, in realtĂ ? come posso risolvere il problema?

Mi dispiace, non lo so. Hai una sottodirectory .git? Cosa contiene?

Nel mio caso, il file di configurazione è cosÏ:

# cat .git/config 
[core]

	repositoryformatversion = 0
	filemode = true
	bare = false
	logallrefupdates = true
[remote "origin"]

	url = https://github.com/discourse/discourse_docker.git
	fetch = +refs/heads/*:refs/remotes/origin/*
[branch "main"]

	remote = origin
	merge = refs/heads/main

Ma questo è solo a scopo di riferimento. Non credo che la soluzione sia modificare un file di configurazione!

1 Mi Piace

Ho lo stesso risultato

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

E 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”)

Sembra che tu debba aver cambiato qualcosa: il tuo ultimo git status fornisce risultati molto diversi dal tuo rapporto precedente. È misterioso!

quindi reinstallare discourse può risolverlo e puoi consigliarmi come posso farlo da SSH?

Per una reinstallazione completa, è necessario il backup completo (incluso il file app.yml) e un nuovo sistema operativo sull’istanza.

Le istruzioni sono qui: INSTALL-cloud

Potrebbe essere meglio provare l’installazione su una nuova istanza. Sarà necessario aggiungere il nuovo indirizzo IP a un sottodominio temporaneo nel DNS. Oppure, se si è soddisfatti del tempo di inattività, è sufficiente aggiornare il DNS al nuovo indirizzo IP.

È necessario avere un’idea di ciò che si sta facendo, altrimenti è necessario aiuto. Mi dispiace, non posso essere d’aiuto.