Roon Web Controller 2.0.0 ALPHA now available

Roon Web Controller 2.0.0 ALPHA-0 has been made publicly available.

PLEASE note this is ALPHA software. A list of what works, what doesn’t work, and what needs to be started is on the README page. Installation instructions are also provided there.

As the software matures, I expect to have a Beta period as well.

Please keep ALPHA comments in this thread so that I can keep an eye on them.


Super awesome as always @Mike_Plugge!!!

1 Like

Since a picture is worth a thousand words, here is 8000 words…

Please keep an eye on the Readme file on the github link above to see the current status. As I am working on the code, the Readme is also getting updated…

NOTE: this is the current state of Roon Web Controller 2.0.0 Alpha. While the UI is largely complete, there may be variations on the final product.

Album: Furthermore by Hilyard -

Now Playing:


Library - album page:


Zone Selection:

Volume controls:

General Settings:

Clock Settings:


Installed… really like the UI flow!

DietPi v6.30.0
Linux officePi 4.19.118-v7+ #1311 SMP Mon Apr 27 14:21:24 BST 2020 armv7l GNU/Linux

It appears disabling sleep / screensaver option didn’t carry into 2.0? Or am I just not finding it?

2.0.0 is alpha - there is still a lot of work to be done with it. Before it is finalized, I will do a feature comparison with 1.2.x.

I will let folks know when it is production ready with all of the features implemented.

1 Like

Understood… I’ll calm down :slight_smile:
I just didn’t see it on your check list.

I’ve been running both side by side. If you like, I can give some more feedback or let me know when the time is right. For now, I’ve set a 1px x 1px looping video next to the clock which keeps the tablet awake. Thanks again!

My previous response came across a bit harsh, so I apologize for that.

That layout is largely complete (for landscape at least). It is mainly the behind the scenes stuff that still need to be done…

A docker image is now available on Docker Hub.

1 Like

Hello @ll,
how can i install the Web Controller 2.0? Looks nice! what i need for a system to
do this? I hope you can help me.

Regards Peter

1 Like

Roon Web Controller 2.0.0 is an alpha tech preview. It is not yet intended for daily use. The easiest way to install it in its current form is with docker.

Once the code is production ready, the easiest way to install it will be with the Roon Extension Manager, but it is not there yet.

1 Like

Thank you Mike for the answer.

1 Like

The latest alpha build has a LOT of tweaks as well as support for the Portrait layout. As I use the layout, there may be further tweaks, but this is the current state:

Thanks for your continued support of your web controller.

It is the reason I still use my roon :slight_smile:

Local library is lightening fast, tidal not so, but hey not criticizing…

Would be nice to have the profile displayed somewhere, so its obvious who is using their profile at the time.

Is there any api endpoint for an api key, so we don’t have to startup old kit to just enable the plugin? (guessing not, but still, would be nice to pre authorise keyed clients)

Love Kubernetes support, very cool,

Pity roon didn’t go progressive web tech rather than .net and mono :frowning: we wouldn’t need you to help with the value proposition :slight_smile:

Ref Tidal browsing:
The Tidal browser is tied to your internet connection speed. Web Controller just shows data from the Roon Core, so if Tidal/Qobuz browsing is slow in the official client, it will be slow in Web Controller.

Ref Profile:
The profile does show in the library page. Go to the Library page then:
Settings -> Profile

The profile does not show in the Now Playing or Queue api payload, so I can’t display it. This screenshot shows an example of what the Transport/Now Playing API has available:

Ref API key:
There is no API to pre-authorize an API key.

NOTE: the following is theoretical - I have not tested it and I cannot support it due to variations on individual systems. So your mileage may vary.

If you bind mount the config.json file to persistent storage, then you will not have to pair every time you spawn a docker/kubernetes container. When you pair Web Controller 2.x to Roon, the file (install-directory)/backend/config.json is created by node-roon-api.

So theoretically, if you add a bind mount option to the docker start up command, you could keep that file around even when new containers are created.
Something like adding this to the docker run command:
-v (path-outside-the-container)/config.json:/usr/src/app/backend/config.json

The same would be true for a Kubernetes container - but the configuration varies based on which persistent storage plugin you are using.

I have NOT tested this and cannot provide support for it. But in theory, it should work…

Thanks for the detailed info…I will give the bind mount a go.

I guess no caching of tidal is possible…it is what it is I guess.

Due to the way the API works, it is not possible to cache any of the library browser - local or Tidal/Qobuz…

Okay thanks, that is a shame.

config.json works great thanks.

@Mike_Plugge thank you for this extension.
I have a question: now running version 1 and I see a lot of logging in /var/log/syslog. Is it possible already in version 1 to set the logging level to lower the amount of logging? If not, is it possible to add it in version 2?

Version 1, the easiest way to reduce the logging is to uncomment “log_level: none” at line 111 in the “app.js” file.

Version 2 uses a different style of logging and only logs the HTTP server events in a standard Apache log format, which is significantly less than the Roon events which Version 1 logs. The web server style logs are more useful system monitoring and analysis.