Yes you'll need a web server to host your app. I'd recommend checking out Heroku or DigitalOcean to get started.

Deploying your server for the first time might be somewhat of a challenge but using services like Heroku, they make it super simple a child could get to grips with it! They handle everything pretty much.

Then you can get a domain to point to your server via an A record but if you do use Heroku, you'll need another service like DNSimple to make it work properly.