Show what the WiiM device is currently playing on a touchscreen, separate screen or browser.
Examples:
| Device selection | Preset selection | Volume control |
|---|---|---|
![]() |
![]() |
![]() |
If you just want it to run and see what it does?
Requirements: Any computer with a browser, Node.js LTS (with npm), Git, a command prompt (Powershell 7 is recommended on Windows)
Steps to run as fast as possible:
-
Open a (bash) command prompt, PowerShell or terminal window.
-
Use
cdto navigate to any folder where you want everything placed. A users home dir (cd ~) or Temp folder is a good place. Up to you. -
Clone this repo:
git clone https://github.com/cvdlinden/wiim-now-playing.git
-
Use
cd wiim-now-playingto move into the newly created folder. -
Use
npm installto get all of the dependencies and prepare for launch.
Tend to any errors! If anything pops up you could try the next step, but it is probably best to fix any beforehand.
Please note that npm install may warn you about vulnerabilities and prompt you to run 'npm audit fix --force'. Please don't, as this will break functionality. The issue is related to a package that another package is using. If you don't run this app on a public machine, you should only run on your own home network, you will be fine... -
Start the server with
node server/index.js. It should tell you where the server is running.
Copy-paste this url into your browser. Enjoy! -
Note: If the previous command crashes out, your system most probably does not allow running the server on http port 80.
This could be the case if you already have a webserver running there.
Open up server/index.js in your favorite text editor and edit the value inconst port = 80;. Try ports 8000, 8080, 5000 or 3000 untill it no longer complains.
If you want to run the wiim-now-playing app on a Raspberry Pi with a touchscreen, please read the installation instructions in Raspberry Pi Setup - with touchscreen
You can run the wiim-now-playing app with a regular screen/monitor attached over the (micro) HDMI output of the Raspberry Pi. But then you would also need to add a mouse and keyboard as well in order to operate the device. Follow the 'headless' instructions below and then after configure it for kiosk mode.
The application can also be run headless i.e. without a monitor (or anything else) attached. Set the Raspberry Pi up this way and tuck it away somewhere out of sight. Point a browser from another device, i.e. a TV, to the server and see what's playing there. For instructions see running a Raspberry Pi Setup - headless
There are some hardware requirements, not a whole lot, see: Raspberry Pi requirements for a wiim-now-playing setup
This depends on how you've installed WiiM Now Playing the first time.
If there's a new version of the app you can easily update it through Git.
- Open a (bash) command prompt, PowerShell or terminal window.
- Go into the wiim-now-playing folder, like:
cd wiim-now-playing/ - Use the
git pullcommand to get the latest version of the app. This will automatically download the latest version. - Then do an
npm installto update any of the required packages.
Please note that npm install may warn you about vulnerabilities and prompt you to run 'npm audit fix --force'. Please don't, as this will break functionality. - For a proper update do a manual restart of node or just reboot the machine.
If git pull doesn't work as expected you probably have some locally changed files.
Use git fetch then git status to check what files have changed locally.
If you want to retain those changes then copy these files over to another folder, so you can redo your changes later on.
Use e.g. git restore the-offending-file.js to undo the changes made for each file git status reports. Now you can do another git pull.
If you've installed by downloading the ZIP package before. You should be good by downloading the latest release from the Releases page in this repo. Then unzip the downloaded ZIP package into the existing installation folder.
Please note that this will obviously overwrite anything already in the folder.
So if you have made any changes of your own that you'd want to retain, please safeguard them beforehand!
A good strategy would be to rename the existing folder and unzip the download into a new folder with the previous foldername. Then redo any of your desired changes.
After unzipping the download to your folder, go into the folder with cd and do an npm install to update any required packages.
Afterwards restart node manually or do a reboot of the machine.
If you've forked this repo here on Github then please read the Github documentation on Syncing a fork.
If you want to use Docker instead of 'bare metal' on a Raspberry Pi, please use:
docker-compose up -d --build
Please note that this will only run well on a Linux machine. The Windows version of Docker does not support device discovery over SSDP and thus will not scan the network for WiiM devices. You may need to spin up an entire Linux VM for this to work, which defeats the purpose of Docker.
See: #4
If you already have a docker container running this app and want to do an update to the latest version, please use the docker-update.sh script.






