Helping someone on a project - is NR an option?

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 :wink:

(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.

Thanks in advance.

?? 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 :wink:

Would a blog do?

Unsure.

I suggested that but I'm not sure the person knows the exact specifics of what they want to do.

Until they know what they want to do you can't help much.

2 Likes

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.

Yeah, my ...... (think think think) eagerness is sometimes a bit over the top.

Indulge my stupidity, what is a blog thing?
How much work would it need?

Sorry forgot to state:
They want to keep it on a small machine.
Probably RasPi.

Perhaps a Facebook account would satisfy the (vague) requirements?

Why on earth would they want to physically hold the computer with their website on it?

Yeah, but they want the server to be theirs.

Not a third party.

Maybe it is just an exercise in learning, I don't know.

But they seem interested in getting it up and working.

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.

3 Likes

Thanks.

Much appreciated.

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! :smiley:

1 Like