Após atualizar o docker_manager através da API (o que pareceu ocorrer bem), o painel do Admin simplesmente renderizou uma página em branco, mesmo que o restante do fórum parecesse funcionar.
Para resolver isso, recorri à execução de:
./launcher rebuild app
No entanto, durante esse processo, ocorreram erros:
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: 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
error: packfile .git/objects/pack/pack-581fe47ace192793da04d01989a4d1a7f0e6103c.pack does not match index
… e o error: packfile continua sendo repetido até ser interrompido.
Pelo que parece, o repositório git ficou corrompido. Mas qual repositório git?
Eu nem mesmo tenho uma pasta /var/www/discourse, então presumo que isso esteja dentro de um volume de contêiner?
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..
Tentei resolvê-lo renomeando o discourse e clonando um novo:
Finalmente consegui fazer funcionar!
Acho que foi uma mistura entre um git corrompido e o resultado de uma atualização anterior do docker. Resolvi isso podando todos os contêineres e imagens do docker:
cd /opt/discourse
./launcher stop app
docker container prune
docker image prune -a
./launcher rebuild app
Isso resultou/terminou com:
Upgrade Complete
----------------
Optimizer statistics are not transferred by pg_upgrade.
Once you start the new server, consider running:
/usr/lib/postgresql/15/bin/vacuumdb --all --analyze-in-stages
Running this script will delete the old cluster's data files:
./delete_old_cluster.sh
-------------------------------------------------------------------------------------
UPGRADE OF POSTGRES COMPLETE
Old 13 database is stored at /shared/postgres_data_old
To complete the upgrade, rebuild again using:
./launcher rebuild app
-------------------------------------------------------------------------------------
Ao executar a reconstrução novamente, começou a funcionar completamente: