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.
||No (Linux only)
|Manager independent execution
|Native code execution (e.g. via node-gyp)
|Multiple instances of single extension
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:
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.
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.
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.