I have created a composite docker application with “8” containers (2x Node-RED, 2x MQTT broker, Telegraf, InfluxDb, Grafana, Nginx) for a raspberry pi. This application is deployed through Balena (a month ago it was called resin.io!).
It demonstrates the following features (for more details see its README.md)
The ability to run many containers on a Raspberry Pi 3 Model B+
The Built and Deployment of this multi container application using the BalenaCloud services
Monitoring the system resources of the raspberry pi using the TIG stack.
That Grafana is very nice and powerful tool to create dashboards and that it is easy to create or update those dashboards.
It is possible to run multiple Node-RED instances on the same device.
It is possible to run multiple MQTT brokers on the same device.
A USB memory stick connected to the pi can be used for storing specific data.
It is possible to access the Grafana user interface and the 2 Node-RED editors via the internet .
Here below a screenshot of the system metrics dashboard reporting the system resources of the raspberry pi running this composite docker application. So it is monitoring its own resources.
Hi
Great work, I have forked the repository and installed on Balena Cloud but cannot log in to Node Red. I have added USERNAME and PASSWORD to Device Environment Variables. Does the PASSWORD variable need to be a password hash?
Any advice appreciated
the data of the influxdb is no longer stored under folder /mnt/usbdrive/influxdb but under folder /mnt/influxdb.
If no USB memory stick is connected to the raspberry pi with label influxdb then it will store the influxdb data in the named volume influxdb-data (see docker compose yaml file). ... so this means that it will also work without a USB memory stick, in that case the influxdb data will be stored in a named volume on the SD card and will not be lost when redeploying the container.