Corrupte git bij opnieuw opbouwen van launcher-app

Nadat docker_manager via de UI was geüpgraded (wat goed leek te gaan), gaf het Admin-dashboard alleen een lege pagina weer, ook al leek de rest van het forum te werken.

Om dit op te lossen, heb ik het volgende uitgevoerd:

./launcher rebuild app

Tijdens dat proces liep het echter tegen fouten aan:

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

… en de error: packfile wordt gewoon doorgestuurd totdat het wordt onderbroken.

Naar het lijkt is de git-repository corrupt geraakt. Maar welke git-repository?
Ik heb niet eens een /var/www/discourse-map, dus ik neem aan dat dit binnen een container volume zit?

Ik ben een beetje radeloos. Bedankt voor de hulp!

What do you mean by that?

Normally you’d update docker_manager via the UI.

Ah! Mijn fout. Ik bedoelde UI, niet API. Ik zal het meteen aanpassen.

1 like

I tried to have resolved it by starting and entering the app container:

./launcher start app
./launcher enter app

Then I verified that the error occurred when calling the git command as the user discourse:

cd /var/www/discourse
sudo -H -E -u discourse bash -c 'git fetch --tags --prune-tags --prune --force origin'

Resulting in:

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:

cd /var/www
mv discourse discourse-old
git clone https://github.com/discourse/discourse.git
chown -R discourse:discourse discourse

Once cloned, tried to run the git fetch again with no errors!

cd /var/www/discourse
sudo -H -E -u discourse bash -c 'git fetch --tags --prune-tags --prune --force origin'

But as I exited the container shell and tried to rebuild again with ./launcher rebuild app, I got the same error.

Does the ./launcher rebuild app use a different container than ./launcher enter app enters?

1 like

ja, er zijn twee niveaus van git, één buiten (niet alle gekloonde plugins inbegrepen!)

jouw fout lijkt inderdaad binnen de container te gebeuren … heel vreemd!

Het is eindelijk gelukt!
Ik denk dat het een combinatie was van een corrupte git en het resultaat van een eerdere docker-upgrade. Ik heb het opgelost door alle docker-containers en -images te verwijderen:

cd /opt/discourse
./launcher stop app
docker container prune
docker image prune -a
./launcher rebuild app

Dit resulteerde/eindigde met:

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
-------------------------------------------------------------------------------------

Door de rebuild opnieuw uit te voeren, begon het volledig te werken:

./launcher rebuild app
1 like