somewhat off the topic - but just want to repeat my delight that HatchBox now handle all this server pain for me!
it’s kinda like heroku - but they’ll configure the server on your choice of host. I use DigitalOcean
I give them a fairly modest amount of money, and they make all this kind of thing very easy.
Adding an extra domain to the app is about three clicks. (app, configuration, type your new domain name, click add) They worry about the ngnix config and all that
I actually have an app like yours which behaves differently according to host. I just have this method in my application controller
host = params[:host] || request.host
@host = HostInfo.with(host:host)
I use the params[:host] option to simplify local testing. It allows me to test localhost:3000/?host=domain.com
If you do want to check out hatchbox - this link gives me a referral bonus