Someone is wanting to have a web service so they can post Articles for other (selected) people to read.
No comments or talking.
Just Articles being shared.
Text/pictures - maybe.
What I know so far:
NR is problematic and needs to be secured or all sorts of problems can happen.
DB-2 would be the better way to go - if NR is at all usable.
Questions:
Can the EDIT port and the GUI port be different?
Passwords are needed. Security via obscurity would be a good idea for the port/s used.
Not perfect, but a good idea all the same - yes?
TLDR
(Background - what I know in the bigger picture)
For privacy I won't go into extreme details, but enough to explain the idea.
They are new to computers.
They - a small group - would like to have their own sharing system.
The Media side of things woudl be more like Jellyfin.
But that's a whole other story.
The term WEB SERVER was mentioned and when I asked more about what they meant it was said they want to share Articles.
Not for discussions on the site. Just to share them.
All/any other stuff would happen outside the scope of this.
I'm not sure Web server encapsulates this - or not.
I'm also not sure NR is the right thing/platform.
So I'm asking.
I don't have a full picture of it all and it won't be happening for a couple of months.
But my OCD has kicked off/in and I'm just doing the ground work.
?? Use the http-in node to accept requests, use the template node to create content and use the http-response node to send the content to the user.
Totally: blog not the same as NR interface - I run the NR interface for my blog on a completely different domain (that can also be "discovered" but isn't related to the blog domain).
Also for user name and password I would suggest use some random strings of characters - using a password manager helps to store this combination. Using 'admin' or 'root' as username is already giving half the secret away but a username that looks like this 'a6WuzXBvghpFOMsJOpz3ukAS7RYMgLpx' is damn hard to guess and remember!
As for content, I would genuinely suggest just using the template nodes to store page content - no database needed! Images can be stored on an CDN - for extra bonus points use the NR dashboad to create a file uploader to upload images to the CDN - automagically. The old dashboard and has a wonderfully simple file uploader plugin for handling file uploads.
If you're looking for a cheap CDN, think of github pages and imagine if instead of html, there were to be gifs/jpegs in the repository .... and e'Voila a cheap CDN. But you could also just use github pages for static content - but that would take all the fun of knowing how to use NR
I hear/read that with DBV2 I/you can set different ports for editing and viewng.
So that is a good thing.
So the edit port would be kept local, but the DB V2 would be the one sent to the router and I use port forward and pick an obscure external port to the desired port.
Personally, I would be wary of using Node-RED for this as it feels like too complex an architecture.
This sounds like a straight-forward blog and there are plenty of tools for that. My current favourite is Astro. Astro can be run in two modes, a static mode simply turns a collection of markdown documents into a coherent website, you can use a straight web server to deliver it. The other mode is more dynamic and allows dynamic content using server-side and/or client-side code. For that mode, you need an Astro microservice running of course.
Both modes use node.js (just for delivery in the case of a static site).
As part of the customer's business requirements, you need to also understand what performance will be required. How many articles? How many visitors, etc.
For myself, I would simply stand up an Astro system and link through via Cloudflare Zero Trust to get the best performance and security.
Oh, and by-the-way, if using Astro's dynamic features, there is nothing stopping you using Node-RED to provide API's to Astro and so getting the best of both worlds!