Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

DietPi-Software | Node-RED: Pre-installed modules cannot be updated via webUI #2073

Closed
msongz opened this issue Sep 15, 2018 · 7 comments · Fixed by #4124
Closed

DietPi-Software | Node-RED: Pre-installed modules cannot be updated via webUI #2073

msongz opened this issue Sep 15, 2018 · 7 comments · Fixed by #4124
Assignees
Labels
Enhancement 💨 Solution available 🥂 Definite solution has been done
Milestone

Comments

@msongz
Copy link
Contributor

msongz commented Sep 15, 2018

Creating a bug report/issue:

Required Information:

  • DietPi version | 6.15
  • Distro version | stretch
  • Kernel version | Linux zerow 4.14.69+ #1141 Mon Sep 10 15:13:50 BST 2018 armv6l GNU/Linux
  • SBC device | zerow
  • Power supply used | 5v
  • SDcard used | SanDisk ultra

Additional Information (if applicable):

  • Software title | node-red
  • Was the software title installed freshly or updated/migrated? fresh install
  • Can this issue be replicated on a fresh installation of DietPi? yes
  • dietpi-bugreport ID

Steps to reproduce:

  1. fresh install dietpi
  2. install node-red from DietPi-Software

Expected behaviour:

  • modules will be updated

Actual behaviour:

  • if there were some pre-install modules update available, but it will prompt "Module not locally installed", but if the module installed via the palette by user, like node-red-dashboard, it could be updated normally.

Extra details:

  • the workaround is to install the module globally, like node-red-node-feedparser(/usr/local/lib/node_modules) , and copy it to /usr/local/lib/node_modules/node-red/node_modules
@Fourdee
Copy link
Collaborator

Fourdee commented Sep 19, 2018

@msongz

Thanks for the report and info 👍

We'll pick this up when we can.

@Fourdee Fourdee added this to the v6.17 milestone Sep 19, 2018
@MichaIng MichaIng added the External bug 🐞 For bugs which are not caused by DietPi. label Sep 26, 2018
@MichaIng
Copy link
Owner

MichaIng commented Sep 26, 2018

@msongz @Fourdee

Could replicate it on Stretch VM:

  • Fresh install
  • Open web UI on port 1880
  • Open settings > Manage palette
  • Try to apply available node-red-node-email update:
Failed to update: node-red-node-email

Module not locally installed

Check the log for more information

I mark this as external bug, since we install node-red globally, exactly according to the official instructions: https://nodered.org/docs/getting-started/installation


https://discourse.nodered.org/t/major-update-to-twitter-node-coming/246/9
or https://discourse.nodered.org/t/help-with-module-not-locally-installed/63/9
or openhab/openhabian#213
npm un -g node-red-node-email somehow does not uninstall anything, no error message, but module stays globally installed:

root@VM-Stretch:~/.node-red# npm ls -g node-red-node-email
/usr/local/lib
└─┬ [email protected]
  └── [email protected]

Really not much to find about it. But for my impression this is an issue about how node-red is installed and how it's needed to update modules via web interface:

  • npm i -g node-red is the way to go according to docs.
  • Pre-installed modules will be also globally installed then.
  • But actually pre-installed modules should be installed locally to node-red config/data dir (/mnt/dietpi_userdata/node-red/node-modules/) 🤔.

Actually when I tried to install a module it failed, because /mnt/dietpi_userdata/node-red/node-modules/ was at first owned by root:root 🤔.

  • Possibly because I executed node-red as root user for testing and:

We do ln -sf $G_FP_DIETPI_USERDATA/node-red $HOME/.node-red due to: https://github.com/Fourdee/DietPi/issues/1256

  • For my impression this is a bid dangerous. The symlink will be inside root home dir (not nodered user home dir, or dietpi home dir). And if root for some reason runs node-red, it will adjust/create files with wrong user. Also the solution, provided with this symlink, only works, when end users log in with root, but not for those, that log in with dietpi or own user.
  • I would not mess with this. We place our software config and data folders into /mnt/dietpi_userdata, this is what we should tell user via online docs and there should not be any other directory where these are linked. At least my opinion 😉.

cp -a /usr/local/lib/node_modules/node-red/node_modules/. /mnt/dietpi_userdata/node-red/node_modules/
chown -R nodered:nodered /mnt/dietpi_userdata/node-red
  • Hmm, would be great if they could be removed globally instead of double them+disk usage 🤔.

@MichaIng MichaIng changed the title node-red pre-installed Module could not be updated via the preferences palette DietPi-Software | node-red: Pre-installed modules cannot be updated via webUI Oct 14, 2018
@MichaIng MichaIng changed the title DietPi-Software | node-red: Pre-installed modules cannot be updated via webUI DietPi-Software | Node-RED: Pre-installed modules cannot be updated via webUI Oct 14, 2018
@Fourdee Fourdee modified the milestones: v6.17, v6.18 Oct 25, 2018
@Fourdee Fourdee modified the milestones: v6.18, v6.19 Nov 25, 2018
@Fourdee Fourdee modified the milestones: v6.19, v6.20 Dec 4, 2018
@Fourdee Fourdee mentioned this issue Jan 15, 2019
@MichaIng MichaIng modified the milestones: v6.20, v6.21 Jan 28, 2019
@Fourdee Fourdee mentioned this issue Feb 7, 2019
@Fourdee Fourdee modified the milestones: v6.21, v6.22 Feb 7, 2019
@MichaIng MichaIng modified the milestones: v6.22, Known/Outstanding Issue Feb 27, 2019
@MichaIng MichaIng mentioned this issue Mar 3, 2019
@Fourdee Fourdee mentioned this issue Mar 19, 2019
@MDAR
Copy link

MDAR commented Sep 19, 2019

Please excuse me if this is the wrong place to put this comment.

I've just tried to install Node-Red on DietPi using the software app.

Whatever I did resulted in the systemctl status report saying that the user was spawning. (Which I didn't understand)

What I did do that seems to have worked is to edit the /etc/systemd/system/node-red.service file.

Originally, the User = nodered

I've changed this to User = root

After the normal daemon-reload & restart processes, I'm able to interact with NodeRed just as I can on other machines.

@MichaIng
Copy link
Owner

@MDAR
Jep, it's a known issue with v6.25, please do:

mkdir -p $G_FP_DIETPI_USERDATA/node-red
usercmd='useradd -rMU'
getent passwd nodered &> /dev/null && usercmd='usermod'
$usercmd -d $G_FP_DIETPI_USERDATA/node-red -s $(command -v nologin) nodered
getent group gpio &> /dev/null && usermod -aG gpio nodered
echo 'nodered ALL=NOPASSWD: ALL' > /etc/sudoers.d/nodered
chown -R nodered:nodered $G_FP_DIETPI_USERDATA/node-red
  • This assures the nodered user is created with required group memberships and given data dir ownership. Then you can revert your service change and restart.
  • However of course running as root works as well, it just does not match current security standards 😉.

@MDAR
Copy link

MDAR commented Sep 23, 2019

Thanks Michael :-)

I'm on holiday now, I'll give this a try when I get back.

Cheers,
Stuart

@MDAR
Copy link

MDAR commented Oct 1, 2019

@MDAR
Jep, it's a known issue with v6.25, please do:

mkdir -p $G_FP_DIETPI_USERDATA/node-red
usercmd='useradd -rMU'
getent passwd nodered &> /dev/null && usercmd='usermod'
$usercmd -d $G_FP_DIETPI_USERDATA/node-red -s $(command -v nologin) nodered
getent group gpio &> /dev/null && usermod -aG gpio nodered
echo 'nodered ALL=NOPASSWD: ALL' > /etc/sudoers.d/nodered
chown -R nodered:nodered $G_FP_DIETPI_USERDATA/node-red
  • This assures the nodered user is created with required group memberships and given data dir ownership. Then you can revert your service change and restart.
  • However of course running as root works as well, it just does not match current security standards 😉.

Thanks Michael,

That worked perfectly :-)

All I have to do now is get the NodeRed icon and link in the openHAB2 start page, which their script has done in the past.

Now that you've resolved this issue, I'll just try to run their script again and see what happens.

*** Update ***
Nop, that still doesn't work.
It just crashed out, saying that NodeRed must be added with the DietPi software scripts.

It's not a big deal, I'll find out how to add the icon and link manually.

*** Update ***

Adding this text to the /etc/openhab2/services/dashboard.cfg file did the trick

nodered.link-name=Node-RED
nodered.link-url=http://{HOSTNAME}:1880
nodered.link-imageurl=data:image/png;base64,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

image

@MichaIng
Copy link
Owner

Node-RED will now be installed as local instance for the service user "nodered" right into /mnt/dietpi_userdata/node-red/node_modules, which allows that user and hence the web interface full control: #4124

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Enhancement 💨 Solution available 🥂 Definite solution has been done
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants