Just to give you a slight overview, the idea is to locally install node-red and remotely, on a server, to install node-red, grafana and a server mqtt. In this way the local node-red instance will communicate with the server via mqtt, and the user will connect with grafana directly on the server. Node-red is necessary server side and local side in order to perform several IoT action, other than collect and share data on database