Après la mise à niveau de docker_manager via l’API (qui a semblé bien se dérouler), le tableau de bord Admin a simplement affiché une page vide, même si le reste du forum semblait fonctionner.
Pour résoudre ce problème, j’ai dû exécuter :
./launcher rebuild app
Cependant, pendant ce processus, il a rencontré des erreurs :
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
'
erreur : le fichier de paquet .git/objects/pack/pack-581fe47ace192793da04d01989a4d1a7f0e6103c.pack ne correspond pas à l'index
erreur : le fichier de paquet .git/objects/pack/pack-581fe47ace192793da04d01989a4d1a7f0e6103c.pack ne correspond pas à l'index
erreur : le fichier de paquet .git/objects/pack/pack-581fe47ace192793da04d01989a4d1a7f0e6103c.pack ne correspond pas à l'index
erreur : le fichier de paquet .git/objects/pack/pack-581fe47ace192793da04d01989a4d1a7f0e6103c.pack ne correspond pas à l'index
… et l’erreur : packfile continue d’être spammée jusqu’à interruption.
D’après ce que je vois, le dépôt git est corrompu. Mais quel dépôt git ?
Je n’ai même pas de dossier /var/www/discourse, donc je suppose que cela se trouve à l’intérieur d’un volume de conteneur ?
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..
J’ai essayé de le résoudre en renommant discourse et en en clonant un nouveau :
Enfin, j’ai réussi à le faire fonctionner !
Je pense que c’était un mélange entre un git corrompu et le résultat d’une précédente mise à niveau de docker. Je l’ai résolu en élaguant tous les conteneurs et images docker :
cd /opt/discourse
./launcher stop app
docker container prune
docker image prune -a
./launcher rebuild app
Cela a donné/s’est terminé par :
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
-------------------------------------------------------------------------------------
En relançant la reconstruction, tout a recommencé à fonctionner :