The Digitalisation AIO (All-In-One) Package is a comprehensive Docker-based stack that integrates tools for automation, data management, and visualisation. It is designed to facilitate efficient workflows, seamless communication, and insightful analysis.
- Node-RED: Automates workflows and orchestrates communication.
- PostgreSQL: Manages and stores time-series data.
- Mosquitto: Enables MQTT-based messaging between services.
- Grafana: Provides data visualisation and analytics.
- Pre-configured Mosquitto broker with secure authentication.
- Node-RED flows demonstrating:
- MQTT communication.
- PostgreSQL integration for database creation and data management.
- Ready-to-use Grafana dashboard template for visualising time-series data.
- Docker Desktop with WSL2 (Ubuntu).
- Docker Desktop should be linked to your WSL2 instance.
- Clone this repository, and update ownership.
git clone https://github.com/ctch3ng/Digitalisation-AIO-Package.git
sudo chown -R 1000:1000 Digitalisation-AIO-Package/
- Configure the
.env
file with your preferred credentials. (You can skip this if you just want to give it a test drive)
- Set your PostgreSQL password. The default password is
05JD£AEBW2'f
. - Define Grafana admin credentials. The default username and password are
admin
and0m{-}>7nP8)C
, respectively.
- Launch the stack:
cd Digitalisation-AIO-Package/
docker compose up -d
- Access the services:
- Node-RED: http://localhost:1880
- Grafana: http://localhost:3000
- Updating Mosquitto's credentials (Again, you can skip this if you just want to give it a test drive)
- Enter the Mosquitto container:
docker exec -it digitalisation-aio-mosquitto sh
-
(Use
docker ps
to confirm the container name. Here, the name in the example isdigitalisation-aio-mosquitto
) -
Navigate to the password file directory:
cd /mosquitto/config
- Update the password file (Here, the default username and password are
mqtt_user1
andP71X95tQ!]tm
, respectively):
rm passwordfile
echo "mqtt_user1:P71X95tQ!]tm" > passwordfile
chmod 0700 passwordfile
- Hash the password file:
mosquitto_passwd -U passwordfile
- Exit the container:
exit
Under Manage palette
, Install node-red-contrib-postgresql
.
Under Configuration nodes
, expand digitalisation-aio-package-mosquitto-1
. enter the following information under Security
- Username:
mqtt_user1
- Password:
P71X95tQ!]tm
- Under
Data sources
, add PostgreSQL with the following information.- Host URL:
digitalisation-aio-package-postgres-1:5432
- Database name:
postgres
- Username:
postgres
- Password:
05JD£AEBW2'f
- TLS/SSL Mode:
disable
- TimescaleDB:
enable
- Host URL:
- Import the
Dashboard Demo.json
from thegrafana-data/
directory into Grafana via Dashboards -> Import. - Edit
Sensor 1
andSensor 2
panels. Selectgrafana-postgresql-datasource
as the source.