Best install procedure for installing Debian on laptop exclusively dedicated to running Node Red

Howdy all! I'm going through the process of installing Debian for running Node Red on a (~2012-2014) HP 2000. AMD E2-1800, 4G ddr3 ram. I was able to burn the iso (debian-11.5.0-amd64-netinst.iso) from Debian's site using BalenaEtcher. Currently at the Debian GNU/Linux UEFI Installer menu. Not sure which install (graphical install, install, advanced options, Accessible dark contrast installer menu.. Install with speech synthesis) I should choose. Any insights would be much appreciated!

1 Like

You can paste images here directly.

As for installing Debian I use Ubuntu on PCs so can't help with the detail. However, the principle decision to make is whether you want a graphical interface of some sort, or just a text interface server install. For my node-red servers, which are on Pis, I use the server version of Pi OS.

1 Like

Thank you @Colin! I'm guessing I'm being overly cautious, but I'll probably wait a minute before going any further with the install to see if any others might also weigh in on my situation.

AFAIK the only difference between install and graphical install is it tries to load better drivers and the screens look prettier as you install... you still get to choose if how much you want to install... so I usually try graphical first - then back off to basic install if the hardware is a bit odd and doesn't play nice.

1 Like

Is see I misunderstood the question, I thought it was a decision about what you install, but it is just about how the installer itself is presented. I assume that Debian defaults to installing a server without a GUI and that if you want a GUI then you install it later.

1 Like

wrong way round... default will include a desktop (unless you get he meinmal installer) - but you can select not to install it - or indstall a minimal desktop without all the cruft apps. (which is what I tend to do)

1 Like

Aaargh! Now I have to attempt to reject a sudden pressing need I have to find something to install Debian on to have a play with it. I haven't got time ....

1 Like

meh - it's not that exciting... go and have a cup of tea and let the feeling pass.

1 Like

@dceejay Yessir! That's what I'd like to do - install a minimal desktop without all the "cruft" - or fluff as we would probably call them - apps. Is it pretty straightforward process? Any tutorials on how to do so that you might point me to? Many thanks for you help!

I would just press on with the install and see what happens. Hopefully it is fairly obvious.

1 Like

@Colin Okay, I've installed it once before and kind of just followed it through going with graphical - if my memory serves me correctly. After doing some googling on "how to do minimal desktop debian install" I've gone through a couple videos by "JustAGuy Linux." They both were pretty interesting and I'll list them here: Debian 11.3 Bullseye Minimal Install and i3-gaps Installation using shell script on Debian minimal. Not sure if I'll follow his lead on this but it definitely gave me some additional food for thought.

Haha, the whole point of Debian is that it it isn't exciting!!!! :slight_smile: It isn't meant to be, it is meant to be a simple workhorse that gets on with stuff without getting in the way. IMO, Ubuntu tries too hard.

My opinion, for what it is worth is that you want a Debian minimal headless server install. No desktop at all, it only gets in the way and forces you to have to do far more updating than you really want to. If you want a Linux desktop and have no other choice, try Docker with a VNC/RDP container. But virtually everything useful on a Linux server is configured via text files or occasionally via text menus. So what would a desktop give you? Just the necessity of having a screen, mouse and keyboard attached to your server.

As you've seen from the videos, Debian minimal server will be missing a few things that some people may expect. But that's fine, they are easily installed via apt. For things like node.js, Caddy/NGINX and other services, go to the home sites for those projects and choose a debian/ubuntu install that adds the appropriate install repository to apt. Then you will get the latest live versions (always choose current LTS - long term support - versions where possible) simply using sudo apt update && sudo apt upgrade.

All linux installs are a little nerve-wracking in my view but once you've done it a couple of times, you'll find it easy enough.

BTW, I always make notes of all of the commands I run whenever I'm installing a new OS. That way, I'll be able to follow most of it next time - there will always be differences but you will have most of all of the instructions you need in a single place. I use OneNote on Windows for all my notes and have done for years. Little things like making sure that the user id running node-red is added to the right groups for hardware access are useful notes because they may be specific to your setup.

1 Like

@dceejay First off many thanks for your help thus far! Just an update: I'm in the middle of the install (I wimped out and am doing an "Install" vs a "Graphical Install") and it's offering me several selections (Debian desktop environment, GNOME, and standard system utilities are pre-selected). I'm wondering if I should choose some of these others (e.g. xfce, GNOME flashback, kde plasma, cinnamon, mate, lxde, lxqt, web server, ssh server). Any thoughts would be much appreciated!

Do you want a desktop or not? If you do, choose one of Gnome or KDE for a full-fat one or XFCE, LXDE for a low-fat version - you should go look up which are which and choose one that meets your needs.

If, as I suggested, you don't want a desktop, don't select any of them.


Thank you Julian! I'm just super leery of going totally headless. Sad as it sounds, it took me FOREVER (might I say an hour :-/) to located the settings.js. Frankly wouldn't have been able to had I not given up on searching terminal and sifting through the "explorer" windows (aka file manager?) to drill down into Home/.node-red. Shout out to @Colin for pointing me in the right direction. Still confusing as heck is the fact that there seems to be 2 paths to the settings file (i.e. Home/.node-red and /home/jon/.node-red)... Don't get that AT ALL. But alas, I digress. I just suspect that without some sort of graphical interface for locating files I would be frustrated (and significantly delayed) searching for things.

. Anyroad, a quick google search seems to indicate that LXQt is fairly low fat, so... here goes!

Oh, one last question - would it make sense to install web server and ssh server? I'm assuming I'll be using those in conjunction with Caddy.

That is wrong on several fronts. Firstly, it is unlikely that you have a Linux folder called /Home let alone that it contains a Node-RED userDir folder. On Linux OS's, all user folders are contained within /home with the user id as the next level. That is completely standard. Also (mostly) standard is that all server/service configuration files are contained in /etc. There are a few exceptions but not many.

Honestly, other than /etc and /home/*, you rarely need to go anywhere else in Linux.

I certainly agree that a graphical UI for navigating folders and files is helpful but the Linux desktop is utter overkill for that.

If you want a local file manager on Linux, look at the terminal based mc. But mostly I use either WinSCP or increasingly the remote extensiton for VScode. I hardly ever use WinSCP any more but it does have the advantage that you can set it up to sudo (e.g. become root so that you can edit remote files owned by root). You can't do that with VSCode, instead I tend to add my user id to the adm group and make sure that files and folders I might need to edit are managed by root:adm instead of root:root.

Of course, having your login id in the adm group can be a security issue if you aren't careful and is another reason why all of the servers/services/daemons (whichever name you prefer) running on your server should have their own user ids and groups.

BTW, if you are searching for things - well both WinSCP and VSCode are great for that but you can also do command line whereis and find.

$ whereis nginx
nginx: /usr/sbin/nginx /usr/lib/nginx /etc/nginx /usr/share/nginx /usr/share/man/man8/nginx.8.gz

But as i say, most things you need are either in /etc or /home/.

PS: I should have also said that WinSCP lets you double-click a remote file to have it open in a local editor and when you save, it updates the remote.

PS2: VSCode:



Yes, I have a user called home on my server called home!

1 Like

Wow and thank you! Much food for thought. Will be googling some more things before moving forward with the debian install. I guess one question right off the bat is, what about the image included in my last response? It pictures the file structure (Home/.node-red) with the settings.js properties window open that shows the parent folder as /home/jon/.node-red - even though (it appears) that the file is in Home/.node-red. :thinking:

Ah! I understand now where Home came from - and it reinforces my message about ditching the Linux desktop. I can see now that whatever tool is providing that file management view is trying to "simplify" things and in doing so has misled you.

Home is not a real place. It is simply indicating that you are logged in as user jon and it is showing you jons home folder (Home folder) which is /home/jon/.

Sheesh, if you wanted a dumbed-down desktop, you would surely buy a Mac! :crazy_face:

1 Like

That makes much more sense! Thank you shedding some light on the mystery. I'm actually one of those users who appreciates his dumbed-down mac desktop :joy::sweat_smile:. Or at least least Spotlight as my file structures are super complex and I probably would be able to find anything without it. :hot_face: