"No teams are available to join", how do I create one?

Sure, web container is not mandatory. If you have your own web server you can directly bind your web server to the application container port 8000.

You can find an example of Nginx configuration for Websocket on the web configuration file. The configuration you paste should be ok as long as the proxy_pass directive redirect to the Mattermost application container.