Roon Extension: Roon Web Controller v1.2.0

The port that Web Controller listens on is configurable, either with the command line or with a configuration file. The README covers it here.

Unfortunately no, you cannot preselect a zone. The zone selection is done entirely with JavaScript on the page.

If you don’t have a touch screen, then your best bet is to attach a mouse.

If you followed these instructions (, then just remove the —nocursor option from the diet pi auto start script. This will let you see the mouse cursor.

I still use JiveLite on my Raspberrys and Squeezebox / LMS as back-end parallel to Roon.
But I’m about to switch to Roon-Web-Controller instead. I really enjoy the Roon-Web-Controller!
I have three wishes that I like better at JiveLite:

  1. Small Cover-Art in the album lists or artist list (see example of JiveLite)
  2. Clock and Date display as “Screensaver” (see example of JiveLite)
  3. Menu navigation without the intermediate step via “Now Playing” and “Library”. Either I am in “Now Playing” and want to go to “Library” or I am in “Library” and want to go to “Now Playing”. In my opinion, the intermediate step has no added value as long as

Once again, without my actions, Roon Web Controller has uninstalled itself. The previous day I turned off NUC where I have Roon Rock (latest version) installed and the Windows 10 computer where Roon Extension manager is installed. This morning, after starting up the computer where Roon Extension Manager is installed and then NUC from Roon Rock, the Web Commander page was unavailable. After checking in the native Roon Controller application by my seeing wife, it turned out that the Web Controller is not installed. After reinstallation, everything returned to normal and began to work as before. Is there any chance to detect why the Web Controller is automatically uninstalled from time to time?
Regards Robert Tota

Is it possible that the Roon Extension Manager automatically updates to the latest version, which uninstalls the installed Roon extensions?
I am writing for the version installed in Windows 10.
Regards Robert

I noticed that when I start the Web Controller for the first time in the morning, after selecting the zone and then selecting the browse library option from the menu, I usually have to refresh the browser window because the Web Controller is loading incomplete. The “Library, playlists, ect” buttons are missing. I need to refresh the browser window a second time, select the zone and again the “browse library” option. The Web Controller then loads completely and you can browse the library. I use Google Chrome on Windows 10. Can it be improved to make the Web Controller load immediately?
Regards Robert

How’s the vue.js version coming? Will this be 2.0? Any interest in some help with it?

1 Like

HI Mike,
Thanks for the great work!

Quick question for you. I have a roon server sitting in a virtual machine on a small server (FreeNas 11.2) Works perfectly as a server. Several endpoints, one of which is a RPi.
The rPi3b+ used to connect just fine when roon was served by a desktop roon install (files served by FreeNas). However after I “fixed” the set up and migrated Roon core to the virtual machine the Pi would not connect, extension manager was not loading on the core. I solved that by a reinstall of the rPi / dietpi Roon components and Python (2.7 and 3.6).

So far so good, the extension manager sees the diet pi and installs Web controller, things come up. I have zone selection control, access to libs and artwork, track names etc. I can start playback from the lib etc.

However, there is no “now playing” screen. Just blank with the hamburger (top right).



So very odd…
Killed chromium-browser and reran the startup script,, and things are working again.

Great work, super impressive bug fixing :slight_smile:

This feature (Roon Web Controller) looks great, but as I am not a coder or programmer I cannot figure out how to install it. I am running a Mac and have installed the Node JS server (v.12.15) and downloaded the latest version of the Roon Web Controller from Github. Studying Mike Pluggemi’s original installation instructions (excerpted below), I cannot get past the 2nd step (namely: Change directory into the software: cd roon-web-controller). If someone could let me know (in layman’s terms) how to do that, I think I can run the rest of terminal commands. Thanks in advance and apologies for the basic question.

Original Installation Instructions

Ensure that Node.js version 6.x or higher is installed.

Grab the software:

  • Via git (preferred): git clone
  • Or download and extract the zip file.

Change directory into the software: cd roon-web-controller

Install the Node.js modules npm install

Run the application: node app.js

On an existing Roon client, go to “Settings” then “Extensions”. Click “Enable” beside “Web Controller”.

Open a web browser to your server at either “http://localhost:8080” or “http://(IP of Device):8080”.

How did you “grab the software”, via git or via the zip download?
You have to cd into the directory where in the first step the roon-web-controller ended up.

Via the zip download-but I the put the extracted roon-web-controller folder on the desktop before I installed it.

sorry, that software has not been “installed”, but the extracted roon-web-controller folder is sitting on my desktop. I can move it back to the Downloads folder or anywhere else required or necessary to change its Directory

I’m not a Mac user so if the general instructions below don’t work you might have to fallback to a Google search or wait for a Mac user to join the discussion.

First you have to open a Terminal window. Assuming that the terminal opens in your home directory you have to:

cd Desktop/roon-web-controller

I hope it helps.


I decided to start over so I deleted both the Pluggemi zip file from Downloads and the extracted folder from the Desktop in order to execute the preferred route (via Git). To do so I had to download some software development tools (these were automatically located and downloaded by the Mac system updater). After downloading & installing the tools, I was able to follow all the commands from the original Pluggemi instructions that I had excerpted yesterday and eventually was able to open my browser at “[http://localhost:8080]" and play around with the interface a bit.

I wasn’t able to control any of the play/pause or forward/ back keys (in fact the only control that seemed to work was the volume). After I closed the window down (bookmarking it for future use), I was not able to subsequently reopen it–I get the page below from my web browser (and I do not have any proxies enabled):

This site can’t be reached

localhost refused to connect.



Check your internet connection.

Check any cables and reboot any routers, modems, or other network devices you may be using.

Allow Opera to access the network in your firewall or antivirus settings.

If it is already listed as a program allowed to access the network, try removing it from the list and adding it again.

If you use a proxy server…

Check your proxy settings or contact your network administrator to make sure the proxy server is working. If you don’t believe you should be using a proxy server: Go to Applications > System Preferences > Network > Advanced > Proxies and deselect any proxies that have been selected.

Make sure you keep the Terminal window open and the node app.js command running. After closing it you have to start it again in order to use the Web Controller.

Thanks, but after opening terminal window and executing the node app.js command I get the following error message:

Error: Cannot find module ‘/Users/JM/app.js’
at Function.Module._resolveFilename (internal/modules/cjs/loader.js:793:17)
at Function.Module._load (internal/modules/cjs/loader.js:686:27)
at Function.Module.runMain (internal/modules/cjs/loader.js:1043:10)
at internal/main/run_main_module.js:17:11 {
requireStack: []

I tried starting over at the beginning but got the following error message:
fatal: destination path ‘roon-web-controller’ already exists and is not an empty directory.

After opening the terminal you should be able to:

cd roon-web-controller

After that you enter the node app.js command.

Thank you. That now works, as do all the controls.

Another question: I’ve tried with Safari, Firefox, Chrome & Opera but I cannot get my web controller to like like the pics at the very top of this page (one of which is copied below–without the wasted address bar space at the top of the page). What is the trick to get it to look like this?

Thanks again.

That is a screenshot of a web browser window sized at 480x800. I cropped out the address bar and the rest of the window to focus on the content.