Greetings,
With a new major Moode version along with a recent major Plexamp Headless update now based on node.js 20 I think it's time for an updated guide showing how to get Plexamp Headless running on your Moode player.
There are numerous poorly written guides out there that tend to make the process seem more complicated than it is, this is compounded by the fact that Plex actually don't provide a concise install guide themselves, I hope to show that it's actually a simple process.
To get Plexamp Headless running on Moode we have 5 steps...
1. Download and install node.js 20
2. Download and install Plexamp Headless
3. Run and login Plexamp Headless (Plex Pass subscription required)
4. Create and start the Plexamp Headless systemd service
5. Configure Plexamp's audio settings
To prep, open a web browser and login to your Plex account at plex.tv
Next login to your Pi with the moode user account and password via SSH or via Moode's built-in Web SSH client under the Moode menu > Configure > System > Security.
The 'moode' account password is what you will have set with the Raspberry Pi imager when flashing your Pi's SD card.
Note: If you created a username different to the default 'moode' when installing Moode with the Raspberry Pi imager use that username going forward.
Let's begin;
1. Download and install node.js 20
As shown on https://deb.nodesource.com we run the project's script to setup the node.js 20 apt repository then install the nodejs package.
2. Download and install Plexamp Headless 4.10.1
The latest version of Plexamp Headless for Raspberry Pi can be found at plex.tv. Do a quick check to see the latest version you should be downloading.
At time of writing the current version is 14.10.1 which requires node.js 20 that we've just installed.
Run the following to download Plexamp Headless v14.10.1
Unpack the archive
3. Run Plexamp Headless and authenticate with Plex
This prompts for a claim code...
In a web browser navigate to https://plex.tv/claim and copy the claim code presented.
Paste the claim code into your Terminal window.
Hit Enter then enter a name your player at the prompt.
.. so long as the last line says "Plexamp is now signed in and ready!" all is OK, plexamp exits here.
4. Create and start the Plexamp Headless systemd service
If your Moode account username is the default 'moode' or simply not 'pi', edit the file plexamp/plexamp.service with a text editor such as 'nano' and change the user 'pi' on lines...
'User=pi',
'WorkingDirectory=/home/pi/plexamp'
'ExecStart=/usr/bin/node /home/pi/plexamp/js/index.js'
... to moode's user
e.g.
Save the file (Ctrl+o, Enter in nano) and exit (Ctrl+x in nano).
Setup the service to start now and at boot time;
5. Configure Plexamp's audio settings
Launch the Plexamp Headless web ui in your browser by going to the Pi's hostname or IP address, port 32500 (e.g. http://moode.local:32500)
Amongst the personal settings you will no doubt want to change, firstly we should make the following changes;
Navigate to Settings > Playback
The rest ensures the PCM being sent to your DAC is as native as it can be.
You will now be able to use Moode as usual and also see your Pi as a Plexamp player in a Plex or Plexamp client/app which you can play your Plex or Tidal library to.
Enjoy
With a new major Moode version along with a recent major Plexamp Headless update now based on node.js 20 I think it's time for an updated guide showing how to get Plexamp Headless running on your Moode player.
There are numerous poorly written guides out there that tend to make the process seem more complicated than it is, this is compounded by the fact that Plex actually don't provide a concise install guide themselves, I hope to show that it's actually a simple process.
To get Plexamp Headless running on Moode we have 5 steps...
1. Download and install node.js 20
2. Download and install Plexamp Headless
3. Run and login Plexamp Headless (Plex Pass subscription required)
4. Create and start the Plexamp Headless systemd service
5. Configure Plexamp's audio settings
To prep, open a web browser and login to your Plex account at plex.tv
Next login to your Pi with the moode user account and password via SSH or via Moode's built-in Web SSH client under the Moode menu > Configure > System > Security.
The 'moode' account password is what you will have set with the Raspberry Pi imager when flashing your Pi's SD card.
Note: If you created a username different to the default 'moode' when installing Moode with the Raspberry Pi imager use that username going forward.
Let's begin;
1. Download and install node.js 20
As shown on https://deb.nodesource.com we run the project's script to setup the node.js 20 apt repository then install the nodejs package.
Code:
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo bash -
Code:
sudo apt-get install -y nodejs
2. Download and install Plexamp Headless 4.10.1
The latest version of Plexamp Headless for Raspberry Pi can be found at plex.tv. Do a quick check to see the latest version you should be downloading.
At time of writing the current version is 14.10.1 which requires node.js 20 that we've just installed.
Run the following to download Plexamp Headless v14.10.1
Code:
wget https://plexamp.plex.tv/headless/Plexamp-Linux-headless-v4.10.1.tar.bz2
Unpack the archive
Code:
tar xjf Plexamp-Linux-headless-v4.10.1.tar.bz2
3. Run Plexamp Headless and authenticate with Plex
Code:
node plexamp/js/index.js
This prompts for a claim code...
In a web browser navigate to https://plex.tv/claim and copy the claim code presented.
Paste the claim code into your Terminal window.
Hit Enter then enter a name your player at the prompt.
.. so long as the last line says "Plexamp is now signed in and ready!" all is OK, plexamp exits here.
4. Create and start the Plexamp Headless systemd service
If your Moode account username is the default 'moode' or simply not 'pi', edit the file plexamp/plexamp.service with a text editor such as 'nano' and change the user 'pi' on lines...
'User=pi',
'WorkingDirectory=/home/pi/plexamp'
'ExecStart=/usr/bin/node /home/pi/plexamp/js/index.js'
... to moode's user
e.g.
Code:
nano plexamp/plexamp.service
Save the file (Ctrl+o, Enter in nano) and exit (Ctrl+x in nano).
Setup the service to start now and at boot time;
Code:
sudo cp plexamp/plexamp.service /etc/systemd/system/
sudo systemctl daemon-reload
sudo systemctl enable --now plexamp
5. Configure Plexamp's audio settings
Launch the Plexamp Headless web ui in your browser by going to the Pi's hostname or IP address, port 32500 (e.g. http://moode.local:32500)
Amongst the personal settings you will no doubt want to change, firstly we should make the following changes;
Navigate to Settings > Playback
- Navigate to Settings > Playback > Audio Output > Audio Device and pick preferred audio output device
- Navigate to Settings > Playback > Audio Output > Sample Rate Matching and set to Smart
- Set Settings > Playback > Loudness Leveling to Off
- Set Settings > Playback > Sweet Fades to Off
- Set Settings > Playback > Limiter to Off
The rest ensures the PCM being sent to your DAC is as native as it can be.
You will now be able to use Moode as usual and also see your Pi as a Plexamp player in a Plex or Plexamp client/app which you can play your Plex or Tidal library to.
Enjoy