Roon Extension: Roon Web Controller v1.1.1

Roon Web Controller v1.1.0, a web based remote for Roon, is now available. Let me know what you think!

New Feature Highlights

  • Complete rewrite of UI - now supports both Portrait and Landscape view - looks great on phones, tablets, the Raspberry Pi touchscreen, and in web browsers
  • Added new theme based on the dominant color of the cover art
  • Added controls for Volume, Loop, Shuffle, and Auto Radio
  • Added optional command line options and optional local configuration file
  • Fixed a bunch of bugs
    See the in the repository for complete list of changes

Version 1.1.1

  • Addressed issue that caused icons to be very small on high DPI monitors and devices

Upgrade Notes
Please run “npm install” after upgrading due to new dependencies.

Screen Shots

New Dominant Color Theme

Dark Theme

Cover Art Theme


Hi, thanks !!! How to upgrade ?

Sorry i found

It depends on how you did the original install.

If you used “git” (preferred):

  • Stop the application
  • run “git pull”
  • run “npm install”
  • start the application with “node app.js”

If you used a zip file:

  • Stop the application
  • remove the old install
  • download a new .zip file
  • extract it
  • cd into the directory
  • run “npm install”
  • start the application with “node app.js”

@Mike_Plugge Amazing work!


How can I use this on the Pi 7" screen, with DietPi?

I’m ok with trying command line stuff but struggling with where to apply the command line instructions.

Once I have DietPi RoonBridge installed on the Pi3, can someone help with how to install this?

I use Windows and used Putty to install DietPi RoonBridge on my Pi3.

Also, does this Api run automatically when the Pi3 is booted and DietPi is running, or do you need to do command line stuff to get it going after booting DietPi RoonBridge (for example).


Unfortunately I can’t help you with DietPi. Until 20 minutes ago I had no idea what it was. Since it is based on Debian, any instructions for Raspbian should theoretically work, though.

As for the second question - by default, no this extension does not startup at boot time. Assuming DietPi uses systemd (it looks like it does) there are instructions in the README on how to use the sample systemd startup script. That would allow this to start at boot time.

Thanks Mike. I’m giving it a crack now.

Btw do you use RoonBridge with your Pi?

Or is your Pi only a remote/controller?

Why don’t you just use thw Ropieee beta instead of DietPi if you want to run Roon Bridge and use a 7" screen?

Already do ! :slight_smile:

I really like how this UI / cover art theme looks though, just trying it out.

Cool. I am interested to see how you get on with dietpi as it would be easier for me to just stay with dietpi rather than switching to ropieee although switching is no biggie.

1 Like

No worries. DietPi allows you to install the git client and Node.js so I’m just doing that now.

You can run both the bridge and this software on the same Pi. I chose not to because I needed better flexibility with locations of the devices.

My setup:
File server - Xeon based FreeNAS system with 6x4TB drives in a RAIDZ2 for general storage including my music library presented over NFS, 4x1TB SSD RAID10 presented over multipath ISCSI for VM storage

2x Compute nodes for VM hosting - Core I7 7700k CPU, 64GB RAM, 4x GigE NICs connected to a managed switch with 7 VLANs for different purposes. Runs ProxMox

Roon server - VM with 4CPUs and 4GB RAM running Arch Linux, this hosts both the Roon server and my production Node JS install for this extension

2x dedicated Raspberry Pi3s with USB GigE NICs for music playback, one with a HiFi Berry DAC+, one with a HiFi Berry Digi+. Headless systems running Arch Linux Arm and Roon Bridge. I use the USB GigE NICs because I noticed network saturation issues while playing my 192khz, 24bit FLAC files using the on board fast Ethernet.

2x dedicated Raspberry Pi3 with official 7"touch screens (800x480) running Arch Linux Arm and a custom systemd startup file and script which runs Chromium in Kiosk mode

1x Raspberry Pi3 running a Lilliput 1280x720 touch screen for testing and future use as part of a larger, very custom to my house, home automation system

1 Like

Ok the extension has shown up in Roon.

How do I open “http://localhost:8080” on the Pi though :confounded:

The Putty screen is showing the current track playing but nothing on the Touchscreen.

Is there a recommended browser for the Pi to get via git? @Mike_Plugge

To test that it is working, use your desktop browser and go to http://(ip address of your Pi):8080

To have it show up on the Pi, I use Chromium (open source upstream for Chrome) with a custom systemd unit file and a custom script. More details here: Roon Extension: Roon Web Controller v1.0.0 (on GitHub)

This is provided as-is. It might work, but you will have to tweak it for your system and it comes with no warranty.

1 Like

Hehe I like (PC desktop is working). Next to try is Chromium for the Pi

Eeep, Chromium is installed but I’m trying to figure out how to open it on the Pi.

I thought it would be easy to Google, not so lol

On Arch Linux, I use the scripts linked above.

But they depend on packages that may or not be available on Diet Pi.

Thanks Mike. Chromium was installed through DietPi itself, so I’m guessing I should be able to launch it from DietPi.

I’ll keep loooking.

I thought I was over the most difficult parts lol. Now I’m just stuck with what I thought would be easy, launcher Chromium on the Pi.

Ok I’m close to giving up with DietPi and trying it with your scripts on Arch Linux. Google searches aren’t helping.

DietPi can have AutoStart configured but if no one has tried that for your Roon Web Controller I’ll be all alone in my quest lol

I’ll try it with Arch Linux. Ideally I’d love to have the web page AutoStart with your web interface.