Das sieht tatsächlich nach dem wahrscheinlichen Problem aus. Zur weiteren Einordnung: Ich betreibe Discourse in einem Docker-Container (wie Sie der Stacktrace vielleicht schon erahnen lassen), aber nicht über das auf docker-compose basierende discourse_docker-Projekt. Das verwendete Docker-Image lädt das Tarball-Release direkt von GitHub herunter, anstatt einen git-Clone durchzuführen. Daher funktioniert keine der git-basierten Logik in der Anwendung.
Ich bin es gewohnt, dass das Feld „Installierte Version“ im Dashboard nicht die tatsächlich installierte Version anzeigt. Das ist schon seit jeher so, wobei es zumindest vorher das Dashboard nicht zum Absturz gebracht hat.
Aus Neugier: Könnte diese Funktion einen Fallback haben, um die Version an einer anderen Stelle als über git abzurufen? Falls nicht, ist das kein großes Problem; es stört mich nicht wirklich, dass ich im Dashboard nicht sehen kann, welche Version ich ausführe.