Undefined method `sub!' when visiting `/admin/upgrade`

Huh! That is very strange, and would definitely explain the error. It looks like even Discourse core’s .git is missing (since chat/poll/etc. don’t have a URL).

Can you share the snippet of app.yml where the plugins are installed?

This is also a little weird:

It suggests you have a plugins directory inside your plugins directory :thinking: