Roon Extension Manager v1.0 beta3

I did not grasp that. Just flashed Dietpi 32 bit and everything is working fine.
My favorite extension is Alarm Clock. :sunglasses:

1 Like

Snapshots and Alarm Clock are now also available for arm64. Their Docker images are now derived from another base image which makes them significantly smaller and gives the advantage that they can be easily created for multiple processor architectures.

There is a (one time) disadvantage for those that have Snapshots and/or Alarm Clock already installed, and that is that it has to be uninstalled and then installed again instead of updated.

Edit: I’m working on an Extension Manager update that will prevent this issue in the future.

1 Like

Beta 3 available

Since a few days v1.0 beta3 of the Extension Manager is available, I like to share what has been changed.

View and change settings of an already installed extension

Extensions that require a specific hardware device, like a serial or USB port, can have this device configured during extension installation. If setting the right device was missed during installation the only way to correct this was by uninstalling and reinstalling the extension. This is now solved by allowing the current settings to be viewed and changed as part of the update action.



Collect extension logs

Collecting logs is now done via a Global Action in the Extension Manager Settings. This action will be put on the action list and be performed when the Settings dialog is closed via the Save button. The status message will show the progress and will tell when the log archive can be downloaded via the Extension Manager link.




image

2 Likes

Hi @Jan_Koudijs ,

I currently have release v0.11 running in Docker on my Synology NAS with no issue.
With the upcoming changes, I’m trying to get V1.x of the Extension Manager running on my Synology NAS but I’m getting the following message from the Manager in Roon:

The Extension Manager is running in Docker (on the NAS) but does not seem to be able to access Docker itself. Not sure if it is actually feasible?
Note the v0.11 container is stopped while trying to run v1.x

Any thoughts?

Hi @Guy_Maurier,

There are 2 options in the docker run command that are critical for accessing Docker itself, being the --group-add <docker-gid> and -v /var/run/docker.sock:/var/run/docker.sock. I don’t know if these options can be supplied via the Synology web-interface, you can also try an ssh connection and then manually supplying the docker run command.

Hi @Jan_Koudijs ,

Thanks for the feedback. You’re right, the Synology web-interface doesn’t allow the definition of -v /var/run/docker.sock:/var/run/docker.sock.

I ran the docker command through SSH. Creation of the container worked. For the docker group, I added the same group as /var/run/docker.sock, which is root (0) on the NAS.

However, I now get the following error message:

The repository has loaded as I see the different available extensions but installing them will crash the ExtensionManager.

I must be missing something in the configuration of the docker. Here is the command that I ran to create the container:
sudo docker run -d --network host --group-add 0 --hostname Docker --restart unless-stopped --name roon-extension-managerV1 -v /volume1/docker/ExtensionManager/roon-extensions:/root/.RoonExtensions/lib -v /var/run/docker.sock:/var/run/docker.sock theappgineer/roon-extension-manager:v1.x

What would generate this error message?

The error should be solved by naming the container roon-extension-manager.

Please have a look at the options I specified in the first post, they differ for the ones used for the old version.

Sorry @Jan_Koudijs , I didn’t see options had changed. Got it running on the Synology NAS and was able to install the Alarm Clock app. Thanks for the quick feedback and great support!

1 Like

Spent the morning trying to get the Bluetooth entry point set up with no success on my raspi 4 with Dietpi. Was able to turn on bluetooth, install the software, and configure the extensions but I wasn’t able to see the raspi from my phone as a bluetooth device. Not sure where to start with debugging. Perhaps something to test that bluetooth is even working?

Apparently I needed a couple of hours this afternoon too but I got it working. Hooozaa! Now I can stream and use my Roon DSP functions.

@Jan_Koudijs Hi Jan, I have been trying to set it up on both a VM+DietPi on the MacMIni that runs the Roon Core and on my Synology NAS. But to no avail. The original version 0.11.9 on the MacMini using the node.js solution triggered this, as the Extension Manager restarted all the time.

The same happens for the two solutions mentioned above. I got it to work once, using the DietPi solution, but the Extension Manager was gone the next day.

I have tried so many things I am about to give up, but I guess there has to be a solution. What I see in all cases is the following error (this one comes from the Synology NAS):

Error: connect ECONNREFUSED 10.174.0.1:9300
    at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1144:16)
Emitted 'error' event on WebSocket instance at:
    at emitErrorAndClose (/home/node/node_modules/ws/lib/websocket.js:961:13)
    at ClientRequest.<anonymous> (/home/node/node_modules/ws/lib/websocket.js:820:5)
    at ClientRequest.emit (events.js:314:20)
    at Socket.socketErrorListener (_http_client.js:427:9)
    at Socket.emit (events.js:314:20)
    at emitErrorNT (internal/streams/destroy.js:92:8)
    at emitErrorAndCloseNT (internal/streams/destroy.js:60:3)
    at processTicksAndRejections (internal/process/task_queues.js:84:21) {
  errno: 'ECONNREFUSED',
  code: 'ECONNREFUSED',
  syscall: 'connect',
  address: '10.174.0.1',
  port: 9300
}

The docker command I used to install is like below:

docker run -d --network host --restart unless-stopped --name roon-extension-manager --group-add 0 -v rem_data:/home/node/.rem/ -v /var/run/docker.sock:/var/run/docker.sock -e "TZ=Europe/Amsterdam"  theappgineer/roon-extension-manager:v1.x-standalone

What is striking in the error is that 10.174.0.1 is the LAN address of the router on the network. Why would anything want to connect to the router on port 9300? That it causes an error doesn’t surprise me in that respect.

But I ran out of options to follow up on. Maybe you can shed some light on this.\

Cheers ! Arthur

You see this error in the log of the Extension Manager container, right?

When the extension starts it tries to discover the core, port 9300 is one of the options that Roon uses for this. I don’t know why it would end up at the router address.

Me neither :slight_smile: But it’s the reason it breaks. In Roon, I see the Extension Manager appearing, but it goes right after it starts - because of the error. And as it restarts itself, it continues to do so. So it does discover the core in all cases (when using DietPi in a VB, using my Synology NAS, and when I use the old version that runs using node on the iMac).

So, I understand that the extension searches for the core and finds it. But then it continues and “discovers” my router and attempts to attach to it on port 9300. But that fails. The question is, why does it continue its discovery when it successfully discovered the core?