Diferència entre revisions de la pàgina «Node-RED a un servidor intermediari invers emprant Dockers»
m (→Docker Node-RED) |
m (→Accés al volum persistent) |
||
Línia 69: | Línia 69: | ||
Podeu seguir els suggeriments de la pàgina [https://nodered.org/docs/user-guide/runtime/securing-node-red securing-node-red] per autenticar el Node-RED emprant el ''hash'' generat anteriorment, editant l'arxiu '''settings.js'''. | Podeu seguir els suggeriments de la pàgina [https://nodered.org/docs/user-guide/runtime/securing-node-red securing-node-red] per autenticar el Node-RED emprant el ''hash'' generat anteriorment, editant l'arxiu '''settings.js'''. | ||
− | Per a que prengui efecte el canvi, feu un ''stop'' i un ''start'' al ''docker''. | + | Per a que prengui efecte el canvi, feu un ''stop'' i un ''start'' al ''docker''. Recarregueu la pàgina al navegador i verifiqueu que ja és en marxa l'autenticació. |
Revisió de 19:00, 26 març 2024
Contingut
Previ
Cal tenir una Servidor intermediari invers. Farem servir la mateixa xarxa interna de dockers al Node-RED i al servidor intermediari invers.
Podeu veure quins dockers són connectats a la xarxa interna:
docker network inspect net
Docker Node-RED
Explicació de l'ús de docker a la pàgina oficial de Node-RED
Docker de Node-RED a DockerHub
Volum de dades
Per a tenir persistència de dades caldrà crear un volum (la versió docker de Node-RED no permet una adreça absoluta o relativa). A aquest exemple, el nom del volum és node_red_data_vol:
jordi@vps:~$ docker volume create --name node_red_data_vol node_red_data_vol jordi@vps:~$ docker volume ls DRIVER VOLUME NAME local 4c6fef4d8230506f389bfb915256365bac80be875d55077ec4eff4c6672d89 local 316f02665e61720a8165c30d9cec6de5a8b3c6ecc4175c3faecc00dafe548d local c278d7565bba5de8fb48f98951c293d27818604683012c4bac202281db07ca local e9e43b1bb654f05dedf8352c6f4074a3089e5b1c3cf8e7efddb6400a753893 local node_red_data_vol local reverse-proxy_certs local reverse-proxy_dhparam local reverse-proxy_html local reverse-proxy_vhost
Crida amb docker run
jordi@vps:~$ docker run -d --name=nodered_binefa_cat --restart=always --network=net -v node_red_data_vol:/data -e VIRTUAL_HOST="nodered.binefa.cat" -e LETSENCRYPT_HOST="nodered.binefa.cat" -e VIRTUAL_PORT=1880 -e TZ="Europe/Andorra" nodered/node-red
Podeu verificar que el docker funciona amb normalitat:
jordi@vps:~$ docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 70e1824555ad nodered/node-red "./entrypoint.sh" 22 minutes ago Up 22 minutes (healthy) 1880/tcp nodered_binefa_cat 352309551a15 jwilder/nginx-proxy:latest "/app/docker-entrypo…" 7 months ago Up 2 months 0.0.0.0:80->80/tcp, :::80->80/tcp, 0.0.0.0:443->443/tcp, :::443->443/tcp reverse-proxy a39755a6a96b jrcs/letsencrypt-nginx-proxy-companion:latest "/bin/bash /app/entr…" 7 months ago Up 2 months letsencrypt-helper
I ja hi podeu accedir mitjançant un navegador d'internet. Però amb l'inconvenient que no hi ha autenticació d'accés. Al següent apartat incorporem l'autenticació.
Com autenticar (afegir usuari i contrasenya) al Node-RED emprant dockers
Accés per terminal dins del docker funcionant
jordi@vps:~$ docker exec -it nodered_binefa_cat /bin/bash
Dins del docker podeu generar un hash a partir de la contrasenya que escriviu:
0018a55e253d:~$ node-red admin hash-pw Password: $2b$08$cMGvP0XgtMpgSBfAKeomEOjh3N28vTxthMWvXq5HHqD4BGnJulH8u 0018a55e253d:~$ exit exit jordi@vps:~$
Accés al volum persistent
Per autenticar el Node-RED cal tenir accés a l'arxiu settings.js de forma persistent. Per a això cal accedir al volum de dades:
jordi@vps:~$ sudo bash root@vps:/home/jordi/bin# cd /var/lib/docker/volumes/node_red_data_vol/_data root@vps:/var/lib/docker/volumes/node_red_data_vol/_data# ls -ls total 40 4 -rw-r--r-- 1 root root 1373 Mar 12 17:49 flows.json 4 drwxr-xr-x 3 debian netdev 4096 Mar 26 17:12 lib 4 drwxr-xr-x 2 debian netdev 4096 Mar 26 17:12 node_modules 4 -rw-r--r-- 1 debian netdev 120 Mar 26 17:12 package.json 24 -rw-r--r-- 1 debian netdev 23200 Mar 26 17:12 settings.js root@vps:/var/lib/docker/volumes/node_red_data_vol/_data# nano settings.js root@vps:/var/lib/docker/volumes/node_red_data_vol/_data# exit exit jordi@vps:~$
Podeu seguir els suggeriments de la pàgina securing-node-red per autenticar el Node-RED emprant el hash generat anteriorment, editant l'arxiu settings.js.
Per a que prengui efecte el canvi, feu un stop i un start al docker. Recarregueu la pàgina al navegador i verifiqueu que ja és en marxa l'autenticació.