The setup script works only for a standard setup. If you’re doing something more complex you have to edit the yml by hand. That’s much simpler than modifying the script.
Discourse won’t work on a non standard port. You’ll need a reverse proxy in front. See topics like Run other websites on the same machine as Discourse.
If you’re not going to use the provided postgres and redis then you’re on your own figuring out why yours doesn’t work. There are too many things that it could be that we cannot guess or infer. I’d recommend a standard install on a separate vm to see how things work before trying a very complex setup.