Anisus encountered a corrupted Git repository error during ./launcher rebuild app after upgrading docker_manager via the UI, which caused the Admin dashboard to render blank. The error originated inside the app container at /var/www/discourse, showing repeated “packfile does not match index” messages. Attempts to fix it by manually cloning a fresh Discourse repo inside the container worked temporarily, but the issue resurfaced during rebuild. Merefield confirmed the issue was container-internal and noted there are two Git layers (one outside the container). Ultimately, anisus resolved the issue by stopping the app, pruning all Docker containers and images, and rebuilding — which also triggered a PostgreSQL upgrade. A final rebuild completed successfully, restoring full functionality. The root cause appeared to be a combination of Git corruption and lingering artifacts from a prior Docker upgrade.
After upgrading docker_manager through the UI (which seemed to go fine), the Admin dashboard just rendered an empty page, even if the rest of the forum seemed to work.
To resolve this, I resorted to run:
./launcher rebuild app
However, during that process, it ran into errors:
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
… and the error: packfile just continues to be spammed until interrupted.
From the looks of it, the git repository has become corrupted. But what git repository?
I don’t even have a /var/www/discourse folder, so I assume this is inside a container volume?
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..
I tried to resolve it by renaming discourse and clone a new one:
Finally got it to work!
I think it was a mixture between a corrupted git and the result of a previous docker upgrade. I resolved it by pruning all docker containers and images:
cd /opt/discourse
./launcher stop app
docker container prune
docker image prune -a
./launcher rebuild app
This resulted/ended with:
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
-------------------------------------------------------------------------------------
By running the rebuild again, it started working fully: