Después de actualizar docker_manager a través de la API (lo que pareció ir bien), el panel de Administrador simplemente mostró una página vacía, aunque el resto del foro parecía funcionar.
Para resolver esto, recurrí a ejecutar:
./launcher rebuild app
Sin embargo, durante ese proceso, se encontró con errores:
I, [2025-07-14T08:54:06.062789 #1] INFO -- :
> cd /var/www/discourse && sudo -H -E -u discourse bash -c '
set -o errexit
if [ $(git rev-parse --is-shallow-repository) == "true" ]; then
git remote set-branches --add origin main
git remote set-branches origin tests-passed
git fetch --depth 1 origin tests-passed
else
git fetch --tags --prune-tags --prune --force origin
fi
'
error: el archivo pack .git/objects/pack/pack-581fe47ace192793da04d01989a4d1a7f0e6103c.pack no coincide con el índice
error: el archivo pack .git/objects/pack/pack-581fe47ace192793da04d01989a4d1a7f0e6103c.pack no coincide con el índice
error: el archivo pack .git/objects/pack/pack-581fe47ace192793da04d01989a4d1a7f0e6103c.pack no coincide con el índice
error: el archivo pack .git/objects/pack/pack-581fe47ace192793da04d01989a4d1a7f0e6103c.pack no coincide con el índice
… y el mensaje error: packfile se sigue repitiendo hasta que se interrumpe.
Por lo que parece, el repositorio git se ha corrompido. ¿Pero qué repositorio git?
Ni siquiera tengo una carpeta /var/www/discourse, así que supongo que esto está dentro de un volumen del contenedor?
error: packfile .git/objects/pack/pack-581fe47ace192793da04d01989a4d1a7f0e6103c.pack does not match index
error: packfile .git/objects/pack/pack-581fe47ace192793da04d01989a4d1a7f0e6103c.pack does not match index
error: packfile .git/objects/pack/pack-581fe47ace192793da04d01989a4d1a7f0e6103c.pack does not match index
etc..
Intenté resolverlo renombrando discourse y clonando uno nuevo:
¡Finalmente logré que funcionara!
Creo que fue una combinación entre un git corrupto y el resultado de una actualización previa de Docker. Lo resolví podando todos los contenedores e imágenes de Docker:
cd /opt/discourse
./launcher stop app
docker container prune
docker image prune -a
./launcher rebuild app
Esto resultó/terminó con:
Actualización Completa
----------------
Las estadísticas del optimizador no son transferidas por pg_upgrade.
Una vez que inicie el nuevo servidor, considere ejecutar:
/usr/lib/postgresql/15/bin/vacuumdb --all --analyze-in-stages
Ejecutar este script eliminará los archivos de datos del clúster antiguo:
./delete_old_cluster.sh
-------------------------------------------------------------------------------------
ACTUALIZACIÓN DE POSTGRES COMPLETA
La base de datos antigua 13 se almacena en /shared/postgres_data_old
Para completar la actualización, reconstruya nuevamente usando:
./launcher rebuild app
-------------------------------------------------------------------------------------
Al ejecutar la reconstrucción nuevamente, comenzó a funcionar completamente: