No se puede reconstruir Discourse

Cada vez que intento ./launcher rebuild app, me da un error.

root@amsaal:~# cd /var/discourse/
root@amsaal:/var/discourse# ./launcher rebuild app
Se detectó la arquitectura x86_64.
fatal: No such ref: HEAD
fatal: No such ref: HEAD
Deteniendo el contenedor antiguo

  • /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: formato de referencia no válido: el nombre del repositorio (library/#<NoMethodError) debe estar en minúsculas.
    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.
    El nombre del contenedor no puede estar vacío
    root@amsaal:/var/discourse#

¿Revisaste el estado del repositorio del lanzador?

git status

root@amsaal:/var/discourse# git status

Aún no hay commits

Archivos no rastreados:
(usa “git add …” para incluirlos en lo que se confirmará)
.github/
.gitignore
LICENSE
README.md
discourse-doctor
discourse-setup
image/
launcher
rebuild.log
samples/
scripts/
templates/
tests/

nada añadido para confirmar pero hay archivos no rastreados presentes (usa “git add” para rastrear)
root@amsaal:/var/discourse#

Deberías haber visto algo como esto:

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

nothing to commit, working tree clean

Así que creo que de alguna manera tu directorio /var/discourse está roto y ya no está conectado al repositorio. ¿Has limpiado, perdido o renombrado de alguna manera la subcarpeta .git?

1 me gusta

¿En realidad no toqué nada? ¿Cómo puedo arreglarlo?

Lo siento, no lo sé. ¿Tienes un subdirectorio .git? ¿Qué hay en él?

En mi caso, el archivo de configuración se ve así:

# 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

Pero esto es de referencia. ¡No creo que la solución sea editar un archivo de configuración!

1 me gusta

Tengo el mismo resultado

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

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

Parece que has cambiado algo: tu último git status arroja resultados muy diferentes a tu informe anterior. ¡Esto es misterioso!

¿entonces puedo reinstalar discourse para solucionarlo y puede aconsejarme cómo puedo hacerlo desde SSH?

Para una reinstalación completa, necesitas tu copia de seguridad completa (incluido tu archivo app.yml) y un sistema operativo nuevo en tu instancia.

Las instrucciones están aquí: INSTALL-cloud

Podría ser mejor intentar la instalación en una instancia nueva. Necesitarás añadir la nueva dirección IP a un subdominio temporal en tu DNS. O, si estás de acuerdo con el tiempo de inactividad, simplemente actualiza tu DNS a la nueva dirección IP.

Necesitas tener alguna idea de lo que estás haciendo, de lo contrario, necesitas ayuda. Lo siento, no puedo ser de esa ayuda.