Plexamp 4.4.0 on Volumio - some basic instructions

Note: Updated with PlexAmp 4.4.0 details.

OK I would like to share some instructions for getting the latest Plexamp running nicely with Volumio. I have had up to now been swapping microSD cards to switch between using headless Plexamp and Volumio but not anymore!

So, I have Volumio on both a Raspberry PI 3b (where the Volumio image is only 32bit) and an Intel 64bit mini-PC which Volumio supports nicely. Both these options would not work with previous Plexamp but with the newest releases 4.3.0+ there are options for 32bit ARM and Intel x64. So I decided it times to get them to work together.

Nothing too complicated other than the slight annoyance that Plex is using an old node version (and given Voilumio is built using Node) you have to be careful to keep them different. Rather than create a separate user for plexamp, I decided it was easier to just use the volumio user, mostly this means that Volumio will keep itself updated nicely (they usually update a new release every month), if you modify their image too much their automatic updates stop working.
So to do this we need to install nvm on volumio so here are the basic instructions:

Basic instructions:

  1. SSH to your volumio box
  2. get the plexamp bz2 image
    wget https://plexamp.plex.tv/headless/Plexamp-Linux-headless-v4.4.0.tar.bz2
  3. tar -xf Plexamp-Linux-headless-v4.4.0.tar.bz2
  4. Download and install nvm
    wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash
  5. use nvm to install node 12 (to keep plexamp happy - it doesn’t start with the default node version running on volumio )
    nvm install 12
  6. Modify the plexamp.service to for volumio - see below for details
  7. copy the plexamp.service into /etc/systemd/system (will need to use sudo)
  8. Run plexamp once outside of the service to configure the claim token - it will prompt for a claim token
    /home/volumio/.nvm/versions/node/v12.22.12/bin/node /home/volumio/plexamp/js/index.js
  9. Enable and Start the plexamp service
  sudo systemctl enable plexamp.service 
  sudo systemctl start plexamp.service

So I had to do numerous modifications to the plexamp.service file to work nicely here are my changes. The changes I made are :

  1. To run as the volumio user (rather than a pi user) - obviously you create a separate account but this was easier (though less secure)
  2. Change the home folder I a few locations as plexamp will be installed under /home/plexamp and not /home/pi
  3. Put the full path to the specific node version 12 installed with nvm above.
[Unit]
Description=Plexamp
After=network-online.target
Requires=network-online.target

[Service]
Type=simple
User=volumio
WorkingDirectory=/home/volumio/plexamp
ExecStart=/home/volumio/.nvm/versions/node/v12.22.12/bin/node /home/volumio/plexamp/js/index.js
Restart=on-failure

[Install]
WantedBy=multi-user.target
6 Likes

nice :slight_smile:
just curious, what’s the current default version of node on volumio?

/usr/bin/node -v
v14.20.0

Thank you for this, but I had to run this before “nvm install 12” worked:

source ~/.bashrc

Everything else appeared to work, but I can’t reach Plexamp on port 32500 :frowning:

edit I also noticed that Volumio sounded terrible until I stopped the Plexamp service.

So have you started plexamp at least once (to save the claim token ) by running 8. above? If so then you would need to know the name/IP address of the volumio box e.g. http://volumio.lan:32500 might work if you haven’t changed volumio name?

Confirmed! I ran once and entered the claim token.

I then added and started the service and tried to visit http://ip_of_volumio:32500 and there is nothing running. I should note that I have the roon bridge plugin installed and I’m not sure if there is port overlap.

For now I removed the service as volumio was suffering in quality while plexamp was “partially running”.

Looks like the claim token didn’t stick, but now it’s working :slight_smile:

Hi, thanks for the instructions. Followed them on rpi4 with latest volumio. I can stream from the desktop plexamp to volumio with no issues but cannot play music from plexamp web interface at volumio.local:32500, the web-app starts, I can see my library but when I play any track it just spins forever and no music playing. Is that OK for this method or missed something?

And what’s more, plexamp seems not to be releasing ALSA device when playback stops, so other services on volumio like roon bridge or volumio web player report that audio device is locked.

for playback using the web app, you might need to select the pi/volumio device from the casting menu

and if you’re currently using plexamp 4.3.0, not releasing the ALSA device is a known issue … should be fixed in next release (in the meantime, see this topic which includes a link to a fixed beta release)

1 Like

Thanks for your reply. Disconnecting and connecting back to volumio/plexamp did the trick for me, the browser started playing music. The mentioned beta fixed device lock, so after a half a minute or so after I stop playback in plexamp I can play music via roon bridge, etc.

Just thinking - will the plexamp installation with this method be retained after volumio updates?

Good question … I’m not a regular Volumio user, but their documentation says user data is preserved (somewhere?) during system updates … if things disappear after an update, will need to modify the location for plexamp and nvm files, and might need to re-enable the systemd service

Long-term, obviously it would be better for someone to develop a real plexamp plugin

1 Like

Yes, it will be interesting to see with the next update to Volumio. I do already have full plex instance running in Docker on Volumio X64 instance (as Volumio has a Intel build but I also wanted to take advantage of the GPU for transcoding) and that system has had a few Volumio system upgrades which have worked perfectly and not touched the docker / plex. So I would be hopefully that Volumio won’t mind

Hi @jerome_oflaherty_icloud_com. I was hoping to give this a go - thanks for all the work you did on this!

I just wanted to check - are you still using this and if so, are there any current issues? And as far as you’re aware, could I just substitute the version you mention in the intructions (4.3) with the latest (4.4,0)?

Thanks for any help in this, much appreciated :smile:

Yes I am still using it and yes you are right just substitute the version numbers ! I will update the original post with the latest details later on

1 Like

Thanks! :smile:

nvm-based installer script HERE based on above instructions

currently hardcoded to install 4.5.0, and will be updated as needed in the future

UPDATE: there is a compatibility issue, plexamp 4.5.0 not running on volumio (see details in posts below) … user should edit script before executing to install version 4.4.0 … apologies for any confusion

Thanks for this script.
installation work like a charm for 4.4.0 but not with 4.5.0
Just tested on a fresh volumio install.
This is what I got.

Error: /lib/arm-linux-gnueabihf/libm.so.6: version `GLIBC_2.29’ not found (required by /home/volumio/plexamp/treble/linux-arm/treble.node)
at Object.Module._extensions…node (internal/modules/cjs/loader.js:1057:18)
at Module.load (internal/modules/cjs/loader.js:863:32)
at Function.Module._load (internal/modules/cjs/loader.js:708:14)
at Module.require (internal/modules/cjs/loader.js:887:19)
at require (internal/modules/cjs/helpers.js:74:18)
at Object.41673 (/home/volumio/plexamp/js/index.js:2:346758)
at a (/home/volumio/plexamp/js/index.js:2:2214600)
at Object.65631 (/home/volumio/plexamp/js/index.js:2:341080)
at a (/home/volumio/plexamp/js/index.js:2:2214600)
at Object.10546 (/home/volumio/plexamp/js/index.js:2:326307)

I think sa lib is missing from the native volumio installation
Sorry I am still beginning. I download gllbic but then I don’t know where extract it.

please remind me … volumio is a 32 bit OS?

(there might be an issue with 4.5.0 on 32 bit, following up … would be surprised if there’s anything to install/change on your volumio system)

5.10.92-v7+ armv7l so… I would like say 32 bits. but not sure of my answer :smiley:

  • Version of Volumio: 3.378
  • Kernel: 5.10.92-v7+
  • Model: Raspberry Pi 3 Model B Plus Rev 1.3
  • Version: a020d3
  • Firmware Version: Jan 20 2022 13:58:22