@ubern00b The NodeBB upgrade is failing because the config.json isn't actually being populated with any of the environment variables. It's literally trying to connect to "NODEBB_REDIS_HOST" as the hostname of your redis instance.
Check that your Dockerfile specifies an entrypoint script that actually generates a config.json. Also, you're declaring two persistent volumes (for logs and uploads) - if config.json isn't stored on a persistent volume, it'll need to be re-generated at every run... which might be what you're intending to do.
Alternatively, the "quick fix" would be to edit the config.json inside your container and substitute the variable names for their actual values, then run ./nodebb upgrade.