Hello, I am running node-red in a docker container and want to make it secure in my network, in best case with user and password.
I found a lot of "how to do..." and videos on youtube but it did not work for me because I cant access the settings.js or in other words cant find it like all the others.
Is it because I have it in a container?
Thanks in advanced.
You can run docker exec -it YourContainerName sh
to open the command line of your docker container and edit the settings.js
The close the terminal typel exit
If you are using the standard node-red docker file, your settings will be on the /data
mount that you provide to it. This is the same location as your flows.
I exported my flows.
--> deinstalled to whole container
--> Installed again via
sudo docker run -it -d \
-p 1880:1880 \
-v node_red_data:/data \
--name=mynodered \
--restart=always \
nodered/node-red:latest
then:
sudo mkdir /var/lib/docker/volumes/node_red_data
sudo touch /var/lib/docker/volumes/node_red_data/settings.js
then:
sudo nano /var/lib/docker/volumes/node_red_data/settings.js
added:
adminAuth: {
type: "credentials",
users: [{
username: "USERNAME",
password: "PASSWORD",
permissions: "*"
}]
}
Stop and start the container
but did not work.
I have to say that the whole linux terminal stuff ist new to me.
In windows I know there is always a constant directory path beginning with a letter like C:\Program.........
In linux I dont find this, or I am not able to see that!?
When it comes to containers I used them before on my Synology it is much more confusing for me. There are mounts and paths and I dont know where what data will be.