Hi,
i hope you’re doing good, I recently deployed my web app with render. Some quick infos about my web app, it’s a react and node web app, but inside i use a docker image and also a github repo to help achieve some functionalities, the app as a whole work as intended, except for the docker and github repo. to run these two i use the following commands that are included in my scripts inside package.json file
docker script : cd rtsp_server && docker run --rm -e RTSP_PROTOCOLS=tcp -p 8554:8554 rtsp-simple-server
RTSPtoWeb (github repo): cd RTSPtoWeb && GO111MODULE=on go run *.go
unfortunately i always get this error below even though they both ran without issue locally:
It sounds/looks like you’re trying to mix and match runtimes. I guess you’re currently using the Render Native Runtime for Node, which is an environment intended to run Node projects. There wouldn’t be access to Go binaries or be able to run docker images.
If you wanted to use the Docker runtime, it would need to use a single Docker image. But that would give you control of the environment, so you could install the OS-level packages your project requires, Node, Go, etc. Or, if it suits your project, you could consider multiple services, that communicate over the private network: https://docs.render.com/private-network
Another consideration is that Render Web Services only expose one instance port to the public internet, and they are only publicly accessible over HTTPS (port 443) More in the docs: https://docs.render.com/web-services#binding-to-multiple-ports
It also looks like you may be trying to deploy non-HTTP protocols (RTSP), which may not work. But you’ll know your project better than me.
Lastly, you may need to think about bandwidth, RTSP implies multimedia/video streaming in some capacity, which can transfer a lot of data. If you do get your project deployed, you may want to keep an eye on bandwidth usage.