NUXT is only a tool to help manage front-end data flow so isn't really the issue here any more than Vue is.
OK, so a kind of alternative webmin
then. I've actually looked at creating something like that myself in the past. Never got the time or really the detailed expertise to see it through unfortunately.
I actually don't think that you would need to embed Node-RED to achieve this though certainly you can if you need to. What matters more is what level of permissions Node-RED has when you run it. So you would need to run it with root permissions.
Once you've done that, then Node-RED can make any changes you need to files on the host device and can issue commands to control services and even to reboot. Restarting Node-RED itself only really needs to know the service name because you can then use the systemctl
command via an exec node. If fact, if you are careful with group permissions and allow appropriate admin commands to be run with passwordless sudo, you could even continue to run Node-RED in its own user-id/group which is likely to be more secure, just harder to set up.
That is all back-end stuff though of course the Node-RED editor crosses the boundary - running in the front-end but changing the Node-RED back-end. Creating other UI pages that let the user control the server is just a matter of crafting something that, like the NR Editor, talks to the back-end which actually runs the commands. Really no different to any other "dashboard" or UI built with Node-RED.
My recommendation would be to start with a simple example. Create some buttons using Dashboard and get them to start flows that, for example, restart services on the host. That is your proof of concept.
To step that up, I think that you are likely to want to build something custom however, so the next step would be to switch to uibuilder with Vue (the default framework for uibuilder along with bootstrap-vue) and reproduce your buttons so that you get to understand the data flows.
Then you can think about integrating with NUXT which is certainly useful for more complex UI's as it enforces data flow discipline. However, in order to use NUXT, I think you will need to introduce a build step to your front-end code which you can certainly do with uibuilder, there is an example in the WIKI. Unfortunately, this is not yet fully integrated with the Editor config for uibuilder so you will need to have separate file-level access to the front-end code. However, you can achieve that via your normal development workflow.
Hope this makes sense? Thanks to Node-RED, this is very easy to start and do a proof of concept/prototype and I highly recommend that as an approach.
As far as I can see at the moment, the only reason for you to consider going the embedded route would be if you needed to Integrate Node-RED with an existing Node.JS server or if you needed lots of bespoke server code (though even that could most likely be done with a custom NR node or two which aren't hard to write).
Oh, one other thing. Personally, I would advise not installing Node-RED the "standard" way if you are doing this. I would recommend taking full control of the Node-RED installation in a similar way to my alternate installer.
That way you get maximum control over the Node-RED installation and if you did eventually decide that you really needed to embed Node-RED into your own bespoke nodejs/Express server, it would still be fairly easy to do since NR would already be installed in a "local" folder that could also host the bespoke server code.