Skip to content

mr-light-show/Patiobar

 
 

Repository files navigation

Patiobar

A web frontend for pianobar, which is a console-based client for Pandora.

Provides a simple way for controlling what is playing on pianobar (Pandora). I use this to allow guests (and myself) to control the music playing outside on my patio with their phones.

This program was originally written by Kyle Johnson and extended and made headless by mr-light-show. with additional contributions and improvements by topkecleon. This fork modifies the installation script to create a systemd unit to automatically start Patiobar at boot time, for dedicated pianobar/Patiobar devices (such as Raspberry Pis).

Installation

I have tested this on Raspbian 11 "Bullseye" on a Raspberry Pi 2 and on Debian 12 "Bookworm" in a virtual environment. I run this under a normal (non-root) user account, using systemd's user environment and login lingering to start it at boot. If you are using Raspbian/Debian 11 or 12, these steps should work for you:

Install git, pianobar, curl, and npm:

sudo apt install git curl npm pianobar

To allow node to bind to port 80:

sudo setcap cap_net_bind_service=+ep /usr/bin/node

After this, you can clone the repo and use the installation script:

git clone https://github.com/mr-light-show/Patiobar
cd Patiobar
./install.sh

You will need to edit your pianobar config (at ~/.config/pianobar/config) to set your Pandora username and password.

The installation script will (hopefully) create and enable a systemd unit file for patiobar to start automatically when the system boots. To start it for the first time, you can reboot your machine or run:

systemctl --user start patiobar

Connect to your device's IP address in your web browser to access Patiobar.

If you would like shutdown/reboot controls to work, then the user account which is running patiobar will need passwordless access to the reboot and shutdown commands. Run sudo visudo to open the sudoers file and add the following line to the end, replacing myuser with the appropriate username:

myuser ALL=(ALL) NOPASSWD:/usr/sbin/reboot,/usr/sbin/shutdown

Screenshots

screenshot tools menu screenshot station menu screenshot

About

A web frontend for pianobar, which is a CLI frontend for Pandora. (Headless PI)

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages

  • JavaScript 57.0%
  • Shell 21.8%
  • HTML 21.2%