I’d be interested…thanks in advance!
Hi,
yes very interested in that. I would like the whole thing running from a Pi.
Thanks for the kind offer @Mike_Plugge.
Extending the Extension Manager Wiki with instructions for prerequisites installation makes perfect sense.
Your description applies to the Roon Extension Manager up until the ‘Install Node.js and git’ step (the Display Configuration could be skipped). The Fetch and Start at Boot steps are performed by the install script.
Do you know if DietPi automatically sets up sudo for the dietpi user?
It does - but I think it is sudo with a password. That is easy enough to fix in /etc/sudoers
though.
Is there a reason the extension manager needs to run as root? One line in the ~/.npmrc
configuration file configures “global” packages to be installed in the home directory. Which means sudo/root should not needed. That is what I was going to test first. I ask because I abhor running node as root…
For the dietpi user, all that is needed is this in the ~/.npmrc
prefix=~/.local
That causes all of the “global” npm packages to be stored in /home/dietpi/.local/lib/node_modules
Adding export PATH=~/.local/bin/:$PATH:
to the .bashrc
adds any npm installed executables to the PATH environmental variable, so that the dietpi
user can run the commands anywhere.
All of that can be added to the /etc/skel
directory so that any new users on the dietpi system will get the same settings.
As for the display config, I was going to keep that in there. The idea was to install the web controller via the extension manager, with a local instance of Chromium in kiosk mode.
Disregard previous - I see why you were asking about sudo
now. And ignore the stuff about “PREFIX” - looks like you are already using it to run extension manager as a standard user…
I will write something up around your setup.sh
file.
Aha, so the idea is to include the Extension Manager installation as an extra step in your installation instructions? That’s nice
About the permission strategy: The install script has to run with administrator privileges because it has to setup the systemd service. It’s recommended to use sudo for this because then the home directory of the sudo user will be used for extension installation and the service will run on this user account.
I think you already derived this from the script but it might help others.
It is a separate doc, but largely based on the previous doc.
I have moved the display configuration to the client section based on your suggestion. It makes sense for it to be in hat section any way.
Hopefully once we resolve the minor issues I reported t you separately, I will post the doc.
Hello @Jan_Koudijs,
A few times now the alarms I have set have gone from enabled to disabled. Does this indicate something wrong with the install, or a separate problem altogether? Anything I can check?
Thanks.
Nathan
What type of alarm is it? Can you share a screenshot of the alarm configuration?
Make sure that you have enabled the repeating of the alarm.
Okay, a PEBKAC problem; totally my fault. Repeat was not enabled.
Thanks for the help. Other than that, the Raspberry zero w works really well as a dedicated extension unit.
Nathan
PEBKAC! I work in IT and we use the term PICNIC: Problem In Chair Not In Computer.
After working through a few things with @Jan_Koudijs, the Diet Pi Installation Guide for Roon Extension Manager is now ready!
Here it is and let us know if there are any issues: https://github.com/pluggemi/roon-web-controller/wiki/Diet-Pi-Installation-Extension-Manager
Thanks, will give that a go shortly.
Once installed and setup.sh ran - I see no “extension” tab in Android client. Roon client and server has been restarted. Any ideas? Or this is only supported on iOS?
Are you running the Roon client on a Android phone?
Might be that in phone mode the extension tab isn’t available, the same seems to be the case on an iPhone.
So I’m afraid you have to find a tablet or PC to get the extensions running
I made a small update to the setup script in that it now also provides the option to uninstall the Extension Manager (but who will need this ).
sudo ./setup.sh --uninstall
The Wiki is updated as well.
Hello Jan_Koudijs,
I’m trying to install it without success. Anybody could help me ? Thanks in advance.
flavio@NUC8i7BEH:~$ sudo npm install -g https://github.com/TheAppgineer/roon-extension-manager.git
npm ERR! code 1
npm ERR! Command failed: /usr/bin/git clone --depth=1 -q -b v0.10.0 git://github.com/TheAppgineer/node-api-extension-installer.git /home/flavio/.npm/_cacache/tmp/git-clone-16a3abe0
npm ERR! /home/flavio/.npm/_cacache/tmp/git-clone-16a3abe0/.git: Permission denied
npm ERR!
npm ERR! A complete log of this run can be found in:
npm ERR! /home/flavio/.npm/_logs/2019-07-13T23_03_01_913Z-debug.log
Hi Flavio,
Do you have Git installed?
The easiest way to install on Linux is by using the install script, you can find a link in the first post.
Jan_Koudijs,
Yes I have Git installed and also tried the script before. I get permission errors:
flavio@NUC8i7BEH:~$ sudo /home/flavio/setup.sh
roon-extension-manager setup script - version 0.5.2
Checking prerequisites…
OK
Installing extensions…
npm ERR! path /home/flavio/.npm/_cacache/tmp/git-clone-78103ca8
npm ERR! code EACCES
npm ERR! errno -13
npm ERR! syscall mkdir
npm ERR! Error: EACCES: permission denied, mkdir ‘/home/flavio/.npm/_cacache/tmp/git-clone-78103ca8’
npm ERR! { Error: EACCES: permission denied, mkdir ‘/home/flavio/.npm/_cacache/tmp/git-clone-78103ca8’
npm ERR! cause:
npm ERR! { Error: EACCES: permission denied, mkdir ‘/home/flavio/.npm/_cacache/tmp/git-clone-78103ca8’
npm ERR! errno: -13,
npm ERR! code: ‘EACCES’,
npm ERR! syscall: ‘mkdir’,
npm ERR! path: ‘/home/flavio/.npm/_cacache/tmp/git-clone-78103ca8’ },
npm ERR! stack: ‘Error: EACCES: permission denied, mkdir '/home/flavio/.npm/_cacache/tmp/git-clone-78103ca8'’,
Finally fixed with these commands
sudo chown -R $USER:$GROUP ~/.npm
sudo chown -R $USER:$GROUP ~/.config
sudo chown -R $USER:$GROUP ~/.RoonExtensions