Plexamp Headless is incredible and lets you turn a Raspberry Pi or other Linux-based computer into an excellent music player. Combined with a DAC and your music in Plex Media Server, you really can't go wrong. Plexamp Headless makes a perfect upgrade to your listening room.
Here's how to get it installed:
I will assume a few things: You've already set up a Raspberry Pi and your DAC if you have one (I recommend a HifiBerry DAC2 Pro), and you also know how to use SSH and the command line to move around a Linux system. I will also assume you have a Plex Media Server running and an active PlexPass subscription.
Step 1: Connect via SSH
Step 2: Update and Upgrade
sudo apt-get update && sudo apt-get upgrade
This may take a few minutes. Install any needed updates.
Step 3: Install Node.js
PlexAmp Headless runs on Node.js, version 16 to be specific. So we need to install this first. Run these commands in order to get it installed:
sudo apt-get install -y ca-certificates curl gnupg && sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | sudo gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg
echo deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_$NODE_MAJOR.x nodistro main | sudo tee /etc/apt/sources.list.d/nodesource.list
sudo apt-get update && sudo apt-get install -y nodejs
Step 4: Check Your Node.js Version
If, for some reason, the version that is installed is not 16.x, you can use Node Version Manager (NVM) to change it:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.37.2/install.sh | bash
nvm install v16.20.2
nvm use v16.20.2
Step 5: Install Plexamp Headless
Download and unzip Plexamp Headless
curl https://plexamp.plex.tv/headless/Plexamp-Linux-headless-v4.8.4.tar.bz2 > plexamp.tar.bz2
tar -xvf plexamp.tar.bz2
Step 6: Get Your Plexamp Token
Run PlexAmp for the first time manually to input the claim token:
Visit https://plex.tv/claim, copy the claim code, paste it in the Terminal, and follow the prompts.
Step 7: Give it a try!
Run PlexAmp one more time:
http://<your_IP_or_Hostname>:32500 in your browser, log in, and choose a library as your source. Double-check your audio settings under Settings>Playback>Audio Output>Audio Device if needed.
Step 8: Setup Plexamp Headless to start automatically as a service
Plexamp ships with a service file for
systemd. Here's how to install it:
First, open up the unit file and ensure the paths and user are correct:
Double-check every location where the username is called out - the default is
pi and adjust accordingly.
Note: if you needed to use
NVM when installing Node.JS, the
ExecStart command should look something like this:
Save the file and return back to the prompt. Let's install the service.
sudo cp plexamp.service /lib/systemd/system/
sudo systemctl daemon-reload
sudo systemctl enable plexamp
sudo systemctl start plexamp
And now, perform a restart just to make sure things are working upon startup.
sudo shutdown -r now
Once you are back online, revisit Plexamp at
http://<your_IP_or_Hostname>:32500 in your browser to make sure it comes up.
Moving forward, you can also manage the PlexAmp service using commands like:
# Start Service
$ sudo systemctl start plexamp
# Stop Service
$ sudo systemctl stop plexamp
# Restart Service
$ sudo systemctl restart plexamp
# Check Service Status
$ sudo systemctl status plexamp
There you have it - Headless Plexamp up and running on your Raspberry Pi. Enjoy your music! 🎧