Roon Extension Manager v0.11.9 [Obsolete]

Roon Extension Manager v0.9.0 is now available

Till now the Extension Manager only supported extensions that are Node.js based and installable via npm (cross platform). Not all available extensions are created this way, meaning that only a subset could be provided to the user.

To improve the base of extensions that can be included in the repository, I’ve now added Docker container support to the Extension Manager. For the look and feel I tried to make the support for both types as similar as possible but there are also differentiating features for both types. The table below shows the details from an extension perspective.

Feature npm Docker
Cross platform Yes No (Linux only)
Manager independent execution No Yes
Logging Yes Via Docker
Native code execution (e.g. via node-gyp) No Yes
Multiple instances of single extension No Not Yet
Resource control No Not Yet

An extension can support both types so that the best fit for the environment can be picked. An example of this is that containers will be preferred if the Extension Manager runs in a container itself.

As can be seen above, Docker container support requires a Linux system, it will not work with Docker for Windows or Mac. This is caused by the virtual networking used by the included virtual machine, this type of networking is not supported by the network service discovery method used by Roon.

The options for a working container setup are:

Linux PC

Install Docker via the package manager of your distribution or get it here. At startup the Extension Manager will detect the Docker installation and makes the additional extensions available.

NAS

The more powerful models of the Synology and QNAP NAS’es have container support. By creating a container for the Extension Manager and passing it the path to the Docker socket it will make the additional extensions available.

Raspberry Pi

There are different Pi distributions that let you run Docker containers. Maybe the easiest in use is DietPi because it let you install both Docker and the Extension Manager via the dietpi-software tool. At startup the Extension Manager will detect the Docker installation and makes the additional extensions available.

How to update

If you have auto update enabled then the Extension Manager should be up to date right now. Otherwise it is possible to update manually via the Settings dialog, select the Extension Manager from the System category and perform the Update action.

As this is the biggest change I released since I’m running this project, there might be room for improvement. Let me know how this works out.

2 Likes