This is one of the reasons I love docker, for personal use it makes experimenting with new projects soooo easy.
Plus I have a simple traefik + compose setup so I can easily have it all automatically routed with a subdomain and https.
I might recommend something more robust for businesses in production but man is it easy. Want to try node-red? Done. Want to destroy - and it's gone, no need to futz around with dependencies.
Mattermost CEO here for a biased opinion. In my mind, the properties of a language can shape the outcome of an open source project.
As an example, when we were starting the Mattermost open source project we were considering a few options for different reasons:
1) Erlang - Real time properties made it nice for a high scale collaboration platform. The trade-off was that it's a really specialized language and there aren't that many people excited to learn Erlang.
2) C/C++ - Really powerful language and can compile to binary format, making install and upgrade easier for admins who don't want to be managing interpreted languages. Trade-off was it was an older language and there's fewer people excited about writing for it, and there can be a fair bit of nuance.
3) Python - Really popular, easy-to-read. Trade-off is things could get tricky as performance and scale needs increase. Also, doesn't support binary format, so more complex install and maintenance options would need to be used.
In the end we used Golang because it had many of the positive properties of Erlang, Python and C/C++ (compiles to binary, easy-to-read with gofmt, real-time support, etc.) and the trade-offs were fewer.
I am guilty of favoriting both go and rust for production deployments for the simplicity (usually a single binary, not a million files of some framework’s and dependencies files). Also it’s my hope that the modern libraries and language safety features and smaller size might be helpful in efficiency and security.