Roon Extension Manager 1.x (currently at v1.1.2)

I’m glad to announce the release of Roon Extension Manager 1.0!

Earlier on I described my plans, and now the working out of these plans is finished! Besides the creation of the software itself and the setup script also the documentation on the project Wiki has been updated to the latest state.

A few highlights, before you all start reading the documentation: :wink:

  • Improved user experience by providing:
    • Possibility to modify installation settings without performing a full extension reinstall
    • Improved status reporting during installation, start-up, logs collecting, etc.
    • Simplified interface for collecting log files of installed extensions
  • Easy to use setup script (Linux), taking care of:
    • Setting up a service providing full update support, including Extension Manager updates
    • Preparing the system for special features, like the Auto Rip feature of the CD Ripper extension
    • Running the Extension Manager as a standard user
  • Multi architecture support, including:
    • Intel and AMD 64 bit
    • ARM 32 bit (v7)
    • ARM 64 bit (v8) (not every extension is available yet)

The 7.2 release of DietPi is the first that comes with Extension Manager 1.0 integrated, allowing a quick install or upgrade via its dietpi-software tool.

If you have the old Extension Manager installed and you update to DietPi 7.2 then it will notify you about the available upgrade for the Extension Manager, but it isn’t forced on you.




Please let me know what it is you are missing, what can be improved and any other form of feedback, I’m looking forward to it!

18 Likes

Thanks Jan I look forward to trying this out in the near future. I haven’t touched my DietPi configuration in ages, so it’s probably due some TLC and a number of other updates

Hello @Jan_Koudijs,
I would really appreciate to get some of the tools (Alarm clock i.e.). :+1: :+1:
From that point of view it’s really great. :wink:
You wrote it should be available for normal users - that’s something for the future right?
Keep in mind if I start reading some of the links I don’t even understand 10% of it.
I cross my fingers for a installation people understand and can follow up with.
But again - great idea - I like it!
Thanks.

2 Likes

I ran into an issue and now that I got it to install successfully all my workarounds are gone. Let me try to explain…

The install script, none of the substitutions substituted. So it started with the wget to get the roon-extension-manager.sh file. It tried to grab $NAME instead of roon-extension-manager. That was a quick fix.

But then when it tried to write the roon-extension-manager.service it couldn’t and froze the script so it never returned from making sure the service and the dockers launched.

I walked the script by hand and got it working manually and all seems good now. No idea why the script didn’t run properly. I couldn’t really identify what was going on with diet-pi and why it didn’t like the install script.

Let me know if I can help but now that the install completed the /tmp/Diet-Pi-Software is gone and that’s where I was working.

Although, of course, I do have all the hand generated files that get copied into their proper places.

I don’t have an explanation for the behavior you saw, DietPi shouldn’t have issues with it as the dietpi-software tool is using that same script. Was it a fresh download of the version 1.0.0 script, or was it an older script from the beta phase?

As a general note; for DietPi installs I suggest to update to version 7.2 and then perform the install or reinstall command for the Extension Manager, as described on the Installation page. Then the installation is known to the system.

I did the dietpi-update and it gave me the detail about 1.0 as you posted above. After the upgrade was completed is when I ran:
sudo dietpi-software reinstall 86 and that’s when I ran into issues.

Thanks for clarifying that, on what model of Raspberry Pi is this?

DietPi v7.2.3 : 09:05 - Tue 06/01/21
 ─────────────────────────────────────────────────────
 - Device model : RPi 4 Model B (armv7l)

It’s a 4GB model.

Here “normal user” is probably in the context of the installation on Linux, where it refers to an account without administrator privileges (if that makes it more clear). The problem with me writing the documentation is that I’m too easily using jargon, only feedback from “normal users” :wink: can improve that.

For making it easier to use I try to get it integrated in different products, as is now the case with DietPi. Buying a Raspberry Pi and running DietPi on it is as easy as it gets at this moment. Let me know if you decide to step in, then we can start working on proper documentation :slight_smile: .

1 Like

I can reproduce if I use the dietpi account and run with sudo, can you re-run the script as root and see if that works?

It will take me a bit to set-up a pi on the previous version (I do have a spare here) and repeat my steps to that point but, yes, I’ll get to it in the next day or two.

I did run with sudo so good you were able to reproduce that way. I think we’re now matching environments.

No need to revert to the previous DietPi version. If you repeat the reinstall command some of the setup steps will be skipped but e.g. the download will be repeated. Enough to confirm a difference between root and non-root.

@Jan_Koudijs OK, this got weird…
Try 1
Etched a previous version of dietpi from January. Did a first time login as root and it did an update to latest. Reboot and logged in with dietpi. Did a standard set-up with HDMI audio (although forgot to set a timezone). Rebooted. Logged in with dietpi. Used sudo dietpi-software to add Roon Extension Manager and it crashed out installing docker. Didn’t have time to troubleshoot.

Try 2
Did all the same but this time… Logged in with dietpi after update. Then did a sudo su -. Once su’d to root I ran dietpi-software and installed Roon Extension Manager. It installed 1.x without error and it appears to be running just fine.

dietpi@DietPi:~$ sudo systemctl status roon-extension-manager
● roon-extension-manager.service - Roon Extension Manager
Loaded: loaded (/etc/systemd/system/roon-extension-manager.service; disabled; vendor preset: enabled)
Active: active (running) since Wed 2021-06-02 03:21:00 BST; 17min ago
Main PID: 3018 (roon-extension-)
Tasks: 12 (limit: 4915)
CGroup: /system.slice/roon-extension-manager.service
├─3018 /bin/bash /root/.roon-extension-manager/roon-extension-manager.sh
└─3144 docker run --network host --name roon-extension-manager --group-add 995 -v rem_data:/home/node/.rem/ -v /var/run/docker.soc
k:/var/run/docker.sock -e TZ=Europe/London --log-driver journald theappgineer/roon-extension-manager:v1.x

Hope that helps.

@Jan_Koudijs Thank you for the nice work! Is there anyway to install Extension Manger on Roon ROCK on Intel i7 NUC10 or i7 Nuc11?

Um - I’ve updated my Extension Manager to version 1.0 successfully - but I now appear to have lost the it’roXs! extension… ?

I updated to 7.2, uninstalled the Room extension and installed again and it crashed at the docker
APT install for: docker-ce │
│ - Command: apt-get -qq --allow-change-held-packages install docker-ce │
│ - Exit code: 100 │
│ - DietPi version: v7.2.3 (MichaIng/master) | HW_MODEL: 3 | HW_ARCH: 2 | DISTRO: 5 │
│ - Image creator: DietPi Core Team │
│ - Pre-image: Raspbian Lite │
│ - Error log: │
│ Setting up docker-ce (5:20.10.6~3-0~raspbian-buster) …^M │
│ Job for docker.service failed because the control process exited with error code.^M │
│ See “systemctl status docker.service” and “journalctl -xe” for details.^M │
│ invoke-rc.d: initscript docker, action “start” failed.^M │
│ ● docker.service - Docker Application Container Engine^M │
│ Loaded: loaded (^[]8;;file://DietPi/lib/systemd/system/docker.service^G/lib/systemd/system/docker.service^[]8;;^G │
│ enabled; vendor preset: enabled)^M │
│ Active: activating (auto-restart) (Result: exit-code) since Wed 2021-06-02 09:00:59 BST; 28ms ago^M │
│ Docs: ^[]8;;https://docs.docker.com^Ghttps://docs.docker.com^[]8;;^G^M │
│ Process: 19070 ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock │
│ ^[[0;1;31m(code=exited, status=1/FAILURE)^[[0m^M │
│ Main PID: 19070 (code=exited, status=1/FAILURE)^M │
│ dpkg: error processing package docker-ce (–configure):^M │
│ installed docker-ce package post-installation script subprocess returned error exit status 1^M │
│ Errors were encountered while processing:^M │
│ docker-ce^M │
│ E: Sub-process /usr/bin/dpkg returned an error code (1)

@Jan_Koudijs
I upgraded to DietPi v7.2.3 and Roon Extension Manager 1.0.0.

I had the it’roXs! 1.0.8 extension installed via Extension Snapshots, but there is no option to upgrade or remove/re-install. The only options available in Extension Snapshots are Restart and Stop.

How can I upgrade it’roXs! to v1.0.9?

No there is not. Rock is designed to not allow any other software to be installed on it.

You need to install Extension Snapshots:
Extension Settings → System → Extension Snapshots → Install

This will now display an extension “The Appgineer” with version 0.1.1
Click Enable / Settings on this extension. It includes the pre-1.x extensions and works the same way it always has.

1 Like

This is the thing I’m chasing with @Jan_Koudijs

Login with dietpi account. At prompt run:
sudo su -

This should change your prompt to end with a #
Now run dietpi-software or dietpi-upgrade or whatever you’re doing to install 1.x extension.

This should allow the process to complete. There seems to be an issue running these scripts with sudo as dietpi

1 Like