Personally i suggest Kubernetes, because its develop and iterate more rapidly with easy application deployment, release updates, and management of your apps and services.
Digitalocean API makes it easy to create, update and manage your cluster through our API. so Nginx server instead of use kubernetes, digitalocean also supports kubernetes for seamlessly integrates with your existing tooling and workflows.
Otherwise you need to setup Linux or ubuntu server, this blog explains clearly explain server setup https://www.apptha.com/blog/steps-to-build-a-private-one-to-one-chat-app/
Join 29,237+ developers who get early access to new screencasts, articles, guides, updates, and more.