Roon Web Controller 2.0.0 ALPHA now available

Thank you for your reply. And looking forward to stable version 2!

I built a DietPi specifically for testing this today. v6.31.2, Pi 3B+. No issues or errors installing it. Definitely alpha; I haven’t disabled the nightly updates so I can give you feedback when you are ready. I still have your “old” version running side-by-side; what a dramatic difference. You are a real benefit to the Roon Community, and we’re lucky to have you. Looking forward to incremental updates. Cheers Mike.


Mike, can I suggest you add ‘title=“Something”’ to all mouseover events? The alt tag and aria-label doesn’t display on Chrome, and ‘title’ is commonly supported now. Thanks.

3 posts were split to a new topic: Hiring programmer to help with Roon Web Controller

Hey Mike, checking in to see if you’ve had time to progress the v2 project. Viewing git I suspect you’ve been busy.

Looking forward to further developments

1 Like

A lot of the work done on this was done during a time when I had a lot of time off work due to COVID separation measures. Starting back in early July, I went back to work full time on a shift that I am not used to, and it really screwed up the time I can spend on side projects like this. Starting in October, there will be another shift change, which hopefully will bring me back so something more normal…

So fingers crossed I will be able to get back to address the missing features and some known bugs that I have found by using it…

1 Like

Good to hear you’re still gainfully employed though shift changes aren’t good for humans, ever.

Be safe

There are a lot of folks who lost their livelihood during this, so all things considered, I am NOT complaining at all! I have no problem working crazy shifts if it means food on my plate…


FYI - just pushed an update to capture the known issues that I have found with this over the last few months of using it.

I am hoping that my work schedule will settle down and I will be able to get back to this soon…


Thanks for the update.

I wondered if that had gotten updated in your docker at all, as mine is showing as 2.0.0-alpha.0 updated 3 months ago?

No problem if not, just wondered if the update occurred by other means.

Since there were no updates to the code, the docker container was not updated. So once there is is a code update, the docker counter will be updated…

I’d misunderstood, thinking the only update would be code.

It all good!

If you know of any known issues that are not listed in the README, let me know so that I can add them to the list.

Maybe I am an idiot, but these instructions seem to be missing an awful lot of steps because none of them work for me.

This is what I get after running npm start

roon-web-controller@2.0.0-alpha.0 start /home/jason/roon-web-controller
node backend/app.js

Roon Web Controller health checks listening on port 9090
throw er; // Unhandled ‘error’ event

Error: listen EADDRINUSE: address already in use :::8080
at Server.setupListenHandle [as _listen2] (net.js:1317:16)
at listenInCluster (net.js:1365:12)
at Server.listen (net.js:1451:7)
at setupExpress (/home/jason/roon-web-controller/backend/app.js:233:10)
at init (/home/jason/roon-web-controller/backend/app.js:514:5)
at Object. (/home/jason/roon-web-controller/backend/app.js:521:1)
at Module._compile (internal/modules/cjs/loader.js:1076:30)
at Object.Module._extensions…js (internal/modules/cjs/loader.js:1097:10)
at Module.load (internal/modules/cjs/loader.js:941:32)
at Function.Module._load (internal/modules/cjs/loader.js:782:14)
Emitted ‘error’ event on Server instance at:
at emitErrorNT (net.js:1344:8)
at processTicksAndRejections (internal/process/task_queues.js:80:21) {
errno: -98,
syscall: ‘listen’,
address: ‘::’,
port: 8080
npm ERR! errno 1
npm ERR! roon-web-controller@2.0.0-alpha.0 start: node backend/app.js
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the roon-web-controller@2.0.0-alpha.0 start script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR! /home/jason/.npm/_logs/2020-10-14T01_40_15_112Z-debug.log

I’ll just add a little help with the above error. This

Error: listen EADDRINUSE: address already in use :::8080

Means that your application can’t start because port 8080, is already in use by another application. The most likely cause is you already have the app running some how. The conventional HTTP port for apps is 80 but that’s often grabbed by existing apps. 8080 is often the next choice. If you’re on a Linux box and you issue a the command

netstat -tulpn

you should get a list showing ports in use and processes using them.

So I took this information and removed the 1.2 extension, and then ran “npm start” again, and it worked perfectly. SO maybe there should be something about that in the instructions for those of us still learning linux?
I also want to say that I really like the new layout and the inclusion of album art!

replying to myself here, how do I make this persistent? Right now if I close the Terminal, I lose the web controller,

This is alpha software. The instructions are intentionally vague.

Once finalized, the preferred way to run it will be either through docker or via extension manager with docker support.

That said, if you really want to make this persistent, I strongly recommend that you use the docker version. That way when the docker daemon starts automatically, this container with this software will start automatically.

Docker instructions are here:


Not sure if you are open to feature requests, but I wondered if there is or could be a way to further filter my library?

For example oldest to newest or by year, as currently its a large list of my old albums first and unless I am mistaken search is the only way to find newly added albums?


The library browser just uses the results from the browse api. There really isn’t anything I can do to change the filters or order.

1 Like