Node-Red dashboard UI on HDMI of Raspberry Pi

Hello

I want to display the Node-RED dashboard on the device with BalenaOS installed.
Is that possible to configure it that it starts in kiosk mode (start on boot + restart if stopped).
=> Browser start with url to http://localhost/ui
=> Restart browser if stopped

BalenaOS installed
Node-Red installed
Flow with Dashboard installed

Hello @david.smouts welcome to the balena community!

Did you try to run the browser balena block along with your other services?

there is the LAUNCH_URL variable that might do what you asked for.

Let us know if that works for you!

Thanks!

That seems to be the solution.
Now I’m motivated enough to look into the howto of creating containers etc. for the first time…

Do you have a good newbie tutorial on this?

1 Like

This is awesome @david.smouts

Actually you can learn more about containers here Masterclass Overview - Balena Documentation

However if you would like to test, check this project GitHub - mpous/ming where the docker-compose exposes the services that are going to run on the device/fleet.

Let me know if you have more specific questions!

Let’s stay connected

@david.smouts did you have time to try this?

Let us know how we can help you more!

Hi, I managed to make this work with a docker-compose.yml based on the ming example.

The combo: Node-RED, BrowserBlock, MySQL works like a charm.

This is what I’ve got for now:

docker-compose.yml
version: ‘2’

volumes:
nodered-data:
settings:

services:

Node-Red:
restart: always
build: ./nodered
volumes:
- ‘nodered-data:/data’
ports:
- “1880:80”
network_mode: host

Kiosk-Browser:
image: bh.cr/balenablocks/browser-aarch64 # where is one of aarch64, arm32 or amd64
privileged: true # required for UDEV to find plugged in peripherals such as a USB mouse
restart: always
ports:
- ‘5011’ # management API (optional)
- ‘35173’ # Chromium debugging port (optional)
network_mode: host
volumes:
- ‘settings:/data’ # Only required if using PERSISTENT flag (see below)

db:
image: mysql
# NOTE: use of “mysql_native_password” is not recommended: MySQL :: MySQL 8.0 Reference Manual :: 2.11.4 Changes in MySQL 8.0
# (this is just an example, not intended to be a production configuration)
command: --default-authentication-plugin=mysql_native_password
restart: always
environment:
MYSQL_ROOT_PASSWORD: mysql_native_password

adminer:
image: adminer
restart: always
ports:
- 8080:8080

nodered\Dockerfile

FROM nodered/node-red:3.0.2-14

RUN npm install node-red-dashboard
RUN npm install node-red-contrib-mssql
RUN npm install node-red-node-mysql
RUN npm audit fix

Awesome @david.smouts good job!

feel free to submit your App on balenaHub → balenaHub: an easier way to find and publish fleets, apps, and blocks for edge devices

Looking forward to test this myself :slight_smile: