How to run OpenRPA, OpenFlow, NodeRed locally without internet?
I'm new to RPA, and I'm very happy that I installed OpenRPA, Openflow, and NodeRed on my laptop using NPM. I noticed that if I'm not connected to the internet OpenFlow and Nodered don't run. How to run them without internet connection?
Allan Zimmermann last edited by Allan Zimmermann
That is an really good question, and the answer is not straight forward.
If you install using npm or run from source code, you need to pre-install rabbitmq and mongodb ( and any other services you want to use )
In this setting everything will work if you then unplug it from the network, but you will not be able to install additional modules into your nodered instances since those by default is gotten from registry.npmjs.org
You can fix this by using a local npm repository ( there are many both open source and commercial solution for this ) and then add an .npmrc to the nodered folder, or add an _type: npmrc entry to the nodered collection matching the nodered_id and then content of .npmrc in the npmrc property ( only way, if using docker )
This way you force nodered to use your local repo to install packages.
Next, the nodered UI will try and get a list of modules you can install from the public list at https://catalogue.nodered.org so you will need to create your own endpoint for this. You can run this from a nodered instance using a simple http endpoint. and then set a link to this on your catalogues by adding an array of strings property to you _type: npmrc entry as "catalogues"
Now if you are using docker ( and you should ) you will get an error when trying to spawn a new nodered since docker can no longer access docker hub at https://registry-1.docker.io, but there are plenty of open source and commercial offerings out there for hosting your own docker registry .. for the most basic usage you can use this and then update your docker compose to use your local repository instead ...
All of the above is also how you run the entire stack in secure execution environment, since we can now sign all images and packages and then protect it using secure boot and enforce SEE
I might publish a guide on how to do this at some point, but until then I only assist customers with a premium license agreement in setting this up. But the above should be enough info for you to google more info on how to do each step your self.
@allan-zimmermann Thanks a lot for your detailed answer. I'll have to translate every word technically because I left development from 10 years ago and now working as PM.
But let me ask you, why we need internet in the first place if all modules are already installed locally?
I think we need a guideline from you definitely as internet connection might not be an option for every situation.
Thanks again Allan and keep up the great job you're doing