How to run Discourse in production mode locally?

Simplest way is actually to run a docker image locally, it saves a bunch of questions.

Your steps will more-or-less work though but I would spin up unicorn not puma.