What is good hardware based on your experience to run Node-RED?

.....................................

Julian

I hope you do not really think RAID0 is disk mirroring and that this was a typo !!

Craig

2 Likes

Oops! The cost of moving up the management chain (and getting older)!

This thread has been silent for a while, but most probably the technology moved on in the last 3 years.
My Node-Red is running on a Raspberry PI 3 probably for a good 5 years now. So far I was probably lucky with the SD card, because I did not see any issues yet.
I am thinking about moving my setup to a new hardware, and I would like your opinion. My requirements are:

  • Relatively low power consumption: my RPI3 appears to be plenty power for what I need, but I would like to get into new stuff in the future, so could use a bit more power.
  • Different storage like SSD, M.2. I don't need lot of space, but rather want the peace of mind not running on SD card.
  • Could you recommend a full solution, e.g. cooling hat that you think is essential.
  • I would not use io pins or peripherals other than the USB ports.
  • I am not a Linux person, the hardware should have Linux support to the same level as a raspberry pi.

I am looking forward to learning what else is out there worth considering.

I did a bit of Google, and ODroid XU4 comes out at the end of August (2021) with eMMC storage, and I was also looking at the cheapest Intel NUC with.
ODroid with all the bits (eMMC, power supply, case) is around 106 USD,
Intel NUC 11 Pro Kit Slim (NUC11TNKi3) with 64GB RAM and i3 processor is around 370 USD (local shop).
Is there a performance difference that warrants the change in price? I assume there is.
What you say would be the pros and cons between the two option?

The best hardware to use depends on so many variables my only answer would be "It depends."

I have NR running on a couple Pi Zero W's, Pi model 2b,3b and 4 plus on two mac Mini'S some of the Pi's have SSD's and some do not.

How much money do you have to spend? How important is the project? Do you plan on using external devices (sensors and things)? Will you have cameras, IP or raspberry Pi cameras or arduino cameras?

Are you doing this for fun or is it for a mission critical situation? Are you going to use a UPS?, Backing things up to the cloud? What kind of security do you need?

This is just some questions off the top of my head that could influence your choices. I'm sure others will have other thoughts.

1 Like

The Raspberry Pi 4b with USB3, gigabit ethernet and a USB3 SATA SSD is a huge advance on the 3B.

It's not worth using an M.2 drive since the IO is restricted to USB3 speed.
Get a Kingston A400 SSD with a USB3 - SATA adapter (Avoid adapters with JMicron chipset. People recommend Ugreen)

If the Pi is vertical and air can flow over it freely, you may not need a fan or heatsink.

2 Likes

[quote="nygma2004, post:25, topic:2963"]
I did a bit of Google, and ODroid XU4 comes out at the end of August (2021) with eMMC storage,
[/quote] I believe this is a typo as I've had an ODroid XU4 wtih 16GB eMMC storage module since before the Pi4B came out, It performance is better than the Pi3B but not quite as good as the Pi4B on my AI workload.

It has not proven to be reliable in 24/7/365 use. Its on a UPS but it locks up apparently randomly every 4-6 weeks or so. It has a built in fan in its "official" case, my last hope is to put a small fan to blow across it.

My Node-Red runs most of the middleware (glue logic) in my house. Basic stuff like the lights, heating, cooling, sprinklers are controlled by a PLC. Node-Red talk to that over Modbus TCP. I implement Google Home (assistant) integration, Telegram, getting IP camera snapshots, talking to my bespoke devices over MQTT. My PI is also connected to RFLink (RF433 Mhz receiver), so that picks up weather station data, RF doorbell, etc.
So there is nothing critical, but there are a lot of comfort logic that runs on Node-Red.

What I would like to learn is InfluxDB and Grafana, which I don't have yet. I would install those on the new hardware. And to be honest, learning AI is always on my agenda: mostly to be able to detect anomalies, analyse time series data and make predictions e.g. "it looks like to left the iron on".

So there is a lot of fun and some "critical" application as well. I don't use UPS (right now), backup goes to my local NAS. I have openVPN installed on the PI, this is how I access my Node-Red from the outside. Otherwise there is no certificate on Node-Red, port is not open from the outside. Most of I need I do via Telegram.

Thanks. In that case I may stick with a PI 4B. As my current PI does run reliably 24/7/365 for the past few years.

1 Like

Seems to me that you should probably consider a Pi4. It will be very familiar. You will need a decent power supply though, don't skimp on that. And a case with a fan if you are going to push it hard at any point.

BTW, you may have seen my response in another thread that my Pi3 SD-Card did finally fail after years of failful service and a complete lack of care :grinning: Frankly I've had hard-drives that have failed sooner.

But moving to an SSD would certainly be a benefit. I believe the Pi4 has a much better data bus so you should get a big boost in speed as well as reliablility (the Pi3 and below had very limited buses, basically shared with the USB and network). As the Pi4 has USB 3.0, even an externally connected SSD should be quite a bit faster than an SD-Card. A bunch of different cards and adapters seem to be listed [here]( Best Working SSD / Storage Adapters for Raspberry Pi 4 / 400 (jamesachambers.com), not sure if they are any good though.

Personally, I was fortunate enough to have a not too old extra laptop lying around and so I can converted from Pi to a Lenovo Thinkpad x240. It has an 512GB HDD rather than SSD but has 8GB RAM and an i5 Haswell 4-core processor running at 1.9GHz - More than enough for my needs. I have it running in laptop low-power mode.

(Sorry wrote this earlier but failed to send it)

1 Like

Thanks for all the responses. I think the next major hurdle would be to get the new server up and running potentially with the existing server still running on the same network. And swap the two with as little downtime as possible. Probably I set it up with all the references pointing to 127.0.0.1 and swap the fixed up at the very end. I have a fair amount of ESP devices without OTA with the MQTT address baked in.

I see that you want to learn influx dB so maybe take a point to have an alternative OS. Influx is currently only developed for 64 bit. At this moment raspbian ,(stable) is still on 32 bit. There is a development version of 64 available. For the rest I agree that a raspberry 4b with SSD will be perfect.

Or make a cluster :wink:

You have not said where you are as this affects what is available and at what price.

I personally use Virtual machines for lots of reasons - but thats probably a step up for you.

I would replace your existing setup with a RPi as Julian has stated with a SSD drive (good quality) and use that as your main environment.

Purchase a cheap 2nd hand laptop (or get one for free from someone who has access to retired ones) and use that as your learning environment.

Personally whenever i roll out anything now i do so with Docker - it so easy to find good preinstalled environments and once you come to grips with docker you can implement it on your RPi4 and just move images backwards and forwards between your dev and production environments.

A laptop would also allow you to play around with virtual machines to get an idea of the power of those in relation to snapshotting and recovery etc

Craig

I am on holiday, so have a lot of time to think. Maybe overthinking as well.
As of today, I lean towards a NUC as my main production machine with a Node-Red, MQTT, InfluxDB, Grafana stack. I am OK to spend the money on a new hardware as opposed to a second hand laptop.

I probably should start using Docker as well, but for me switching from Raspbian to Ubuntu is probably going to be enough challenge already.

I will keep my existing Pi as a development machine where I can play with docker and other environments.

1 Like

Influx 1.8 is available and works fine on a pi. If you have a significant amount of data you will want an SSD or usb hard drive.

1 Like

I have a Raspberry PI 4 with 8GB in an argon m.2 case (m.2 instead of SD plus fan).

On that I run debian bullseye 64-bit and one docker stack that consists of: traefik, nodered-1, nodered-2, mqtt-1, mqtt-2, filebrowser, rtsp_grab x 4 (cams), grafana, influxdb (currently with 900MB of data), doozle and portainer agent.

Here you can see the "stress-level" it creates for my device:

Note:

  • The biggest killer for the cpu are influxdb-queries. Independently of the version (2.0 and 1.8). The rest runs almost idle.

  • I tried to void influxdb-query overlaps (delayed some of the queries) and that's how I came up with what you can see above. Without query-delays the average CPU usage was at around 45-55%. (docker-stats is your friend to analyse in more detail where exactly in the docker stack consumption happens :smiley: )

  • The temperature is at constant 55 Ā°C with fan OFF and around 50 Ā°C with fan ON. You can see that I turned it on permanently a couple of days ago.

  • The drop in temperature below 50 Ā°C happens, when I open a window in that room and an external fan chimes in to cool my server rack. So don't get confused. Latter is mountet right under the ceiling, with an avg. temperature of 30-31 Ā°C in that area.

  • The peaks in cpu values occur, when I play around with nodered-settings and docker :smiley:

  • The chart above is from grafana and it is embedded (with appr. 10 additional charts) in my nodered dashboard.

Seems like a nice choice. I would have done something similar if I didn't have the laptop lying around.

I do have Docker on my home server and I do use it. But only in a very limited way. Though I don't have a Linux desktop running on the Debian OS, I have got a simple remote desktop installed via Docker in case I need one. The main thing I have on Docker though is the Ubiquiti WiFi controller which needs all sorts of things including Mongo DB. To my way of thinking, something I only occasionally use that needs multiple services installing that will not be used for anything else - is the main good use-case for Docker.

I certainly don't use Docker for Node-RED, Influx, etc. I don't really see any benefit. Of course, in an enterprise environment I might be different - though I probably wouldn't use Docker there, more likely to use Azure virtual environments anyway.

I recommend switching to Debian instead. Especially if you don't need a Linux desktop. It is simpler and very close to Rasbian (which is based on Debian as is Ubuntu).

Laptop runs in low-power mode and never has to turn on the fan :grinning:

Besides raspberry PIs, I am a big fan of intel NUC running docker.
The host OS of my intel NUC is CentOS Stream ( = 64 bit Linux version maintained by Red Hat - but I guess ubuntu would work as well).

The intel NUC I am using is a low end version with CPU = Intel Celeron J3455 (4 Threads)
Its performance is really ok and at the same time doesn't consume much electricity which I find important as it is running 24x7.

My NUC has 6 GB of RAM which is 6 times more than my pis and which is very interesting if you want to run multiple docker containers.
FYI I am running 34 docker containers for months without a problem and still have 1.7 GB of RAM available (of course memory consumption depends on the type of container - FYI my node-red containers consume between 70 and 200 MB of RAM depending on the actual flows)

If you want sufficient reliably storage you can put an SSD in it.

You can also save a few bucks by looking for a second hand version.
I have bought mine around 140 euros with memory and SSD included.

It doesn't have all those IO pins a raspberry pi have but my NUC has following hardware/ports

  • infrared sensor
  • hdmi
  • bluetooth
  • 4 x USB 3.2
  • built in microphone
  • digital audio output (S/PDIF)
  • Gigabit ethernet

The advantage of Debian is that most of the tutorials and information for the Pi works the same or at least very similarly. Also, Debian is typically a lot more stable than Ubuntu, many of the Ubuntu tutorials also work with Debian since Ubuntu is also based on Debian.

Dave's script should also work on Debian if you need to use it (I prefer to do the installs myself so I know how it works and can fix/update components individually).

Haha, I find that to be an advantage. Personally, I've never used the GPIO ports on any of my Pi's. On my home server now, I use Ethernet and USB. Though now that I've finally worked out why Audio wasn't working, I may use the speakers as well (Hint: because the laptop has HDMI output, that was marked as the default audio output - fixing that without PulseAudio - which needs a GUI desktop - turned out to be more involved than expected).