Cant find uibuilder project folder

Hi, I need some help with uibuilder if someone can point me in the right direction.
It is for a specific project and I am using a server which is running Armbian 21.08.1 Hirsute. NodeRed which was preconfigured and setup on it. From what I can tell NodeRed is set up in a docker and everthing is in the folder “/var/docker/node-red/volume”
I have added my uibuilder node and the index page is working and opening however I cant find the folder when I log onto the server. The uibuilder node says the folder is “/data/uibuilder/<project_name>/src/” I have done a complete search of all folders from the root of the server and it cannot find the <project_name> folder. It also cannot find any “data” folder. I have tried numerous different searches and different directories with no luck.
Does anybody have any idea how I go about finding the files and folders as it isn’t really viable for me to create everthing within the uibuilder node

Hi,

The folder assigned as /data to your Docker instance of Node-RED is the place to start, does it include settings.js and other Node-RED folders as expected? And does is contain the uibuilder sub-folder?

Also, if you open up the details page from any uibuilder node, you can wade through ALL of the settings and config and it shows you the folders and url's for everything.

image

Hi thanks for the quick reply. There is no data folder in my node-red instance, see images.
The only uibuilder folder I can find is in node_modules. I have done a complete search from the root of the server for the Digital_Hub folder but nothing appears yet if I click on open in the properties of the uibuilder node then the page opens so it must be saved somewhere.
Picture1
Picture2


Picture4

Can you look at the docker config? There IS a /data folder assigned to the docker instance or nothing would work, it will be mapped to some folder on your host OS. That mapping is defined in the docker config. It looks from the images as though it is called volume.

So if you cd /var/docker/node-red/volume/uibuilder/ what happens?

This returns No such file or directory

The only docker file i can find is docker-compose.yml which gives the info in the image.
I've never worked with a docker before so not familiar with the set up but it came pre configured this way

Small update and a little progress, but not much.

I ran the following command “docker ps” this gave me the container id.
I then ran docker inspect <container_id>

This gave me a substantial amount of info. If I look under Mounts it tells me the
"Source": "/var/lib/docker/volumes/home/_data",

But now if I try and access the /var/lib/docker folder I get a permission error.

is it possible to set uibuilder to create the folder and files somewhere that i do have access to. Never tried this before as the defaults always worked

Ah, glad you've made a bit of progress - you can probably tell that I don't use Node-RED via Docker I'm afraid.

Absolutely, you will need to edit your Node-RED settings.js file. You probably don't have a uibuilder property in there at the moment, so you will need to add one:

    /** Custom settings for all uibuilder node instances */
    uibuilder: {

        /** Optional: Change location of uibRoot
         * If set, instead of something like `~/.node-red/uibuilder`, the uibRoot folder can be anywhere you like.
         */
        uibRoot: process.env.UIBROOT || '/src/uibRoot', // path.join(os.homedir(), 'myuibroot'),
    },

There are other settings of course, but that's the only one you should need. The example given has a number of options shown.

Note that if you use ui.homedir(), that will be the home dir of the user running Node-RED which would put you back in the same position so you might not want that. :slight_smile:

The example is from my dev server where I set the folder to a fixed location outside of Node-RED's folders so that I can be sure it works.

excellent, thank you. I will try that and see if it works

Ok so i have marked this thread as solved although I actually abandoned my approach and just done a fresh install of node red which wasn't in a docker.

1 Like