I've spent the past hour banging my head against a wall trying to get a
The error is
Error invalid schema, expected mongodb. You see it in the logs.
To get this setup working you need to set an environment variable:
MONGODB_URI which is used in the configuration file
This repo was created in combination with a tutorial which is not published yet, I didn't expect that someone will try it before :)
So I just put the tutorial now into the readme: https://github.com/deepstreamIO/ds-demo-heroku
To solve your issue you could just disable the cache and storage connector in your config file or read the tutorial and do all the steps.
$PORT is an internal port which is assigned automatically by heroku. You should always use the external port which is always 80 for web applications. The internal port will only work within your app.
This is also explained in the tutorial.
Deepstream provides connections via HTTP websocket and TCP socket. You're right, you can't use both ports with heroku, because heroku doesn't allow you to manage more than one port. Actually heroku also does NOT allow TCP connections at all. You can just use the HTTP websocket connection, which can be used by browsers and via Node.js (after this issue is fixed).
You need TCP socket connections only if performance is very important to you. But in that case you should move from heroku to another provider anyways ;) This part is also mentioned in the tutorial.