Glad to see many of you had some degree of success 
With a little elbow grease I was able to get it running on Raspbian 8 (Jessie).
For anyone else with the same errors, here was the changes I had to make.
- Install gcc-5
sudo apt install gcc-5(found in the apt repo for stretch) - Upgrade node to version 9.11.1
I’m hoping we can eventually provide via Docker or AppImage or something like that, but wanted to allow people to at least tinker in the meantime…
@elan Thank you for sharing this with us.
Has anyone been able to get his to work on anything else but a RaspberryPI?
I’m trying to get this to run on my Debian (stretch) server.
After updating the instal path in the unit file, plexamp starts up fine. I only get the following error when I try to start a song.
node[22453]: debug: GET /player/playback/setParameters?volume=42&type=music&commandID=2 200 2 - 0.507 ms
node[22453]: error: Unhandled Rejection! false == true
node[22453]: error: AssertionError [ERR_ASSERTION]: false == true
node[22453]: at r.sendCommand (/opt/plexamp/server/server.prod.js:1:1648014)
node[22453]: at r (/opt/plexamp/server/server.prod.js:1:786947)
node[22453]: at ret [as sendCommandAsync] (eval at u (/opt/plexamp/server/server.prod.js:1:767683), <anonymous>:13:39)
node[22453]: at e.exports.setVolume (/opt/plexamp/server/server.prod.js:1:598982)
node[22453]: at /opt/plexamp/server/server.prod.js:1:602280
node[22453]: at Generator.next (<anonymous>)
node[22453]: at r (/opt/plexamp/server/server.prod.js:1:601113)
node[22453]: at /opt/plexamp/server/server.prod.js:1:601259
node[22453]: at new Promise (<anonymous>)
node[22453]: at s (/opt/plexamp/server/server.prod.js:1:601057)
node[22453]: at e.exports.process (/opt/plexamp/server/server.prod.js:1:602608)
node[22453]: at e.get (/opt/plexamp/server/server.prod.js:1:609290)
node[22453]: at r.handle_request (/opt/plexamp/server/server.prod.js:1:874185)
node[22453]: at r (/opt/plexamp/server/server.prod.js:1:875612)
node[22453]: at r.dispatch (/opt/plexamp/server/server.prod.js:1:875771)
node[22453]: at r.handle_request (/opt/plexamp/server/server.prod.js:1:874185)
node[22453]: at /opt/plexamp/server/server.prod.js:1:870456
node[22453]: at s (/opt/plexamp/server/server.prod.js:1:871917)
node[22453]: at s (/opt/plexamp/server/server.prod.js:1:872111)
node[22453]: at Function.h.process_params (/opt/plexamp/server/server.prod.js:1:872334)
node[22453]: at r (/opt/plexamp/server/server.prod.js:1:870400)
node[22453]: at Function.h.handle (/opt/plexamp/server/server.prod.js:1:871835)
node[22453]: debug: GET /player/playback/stop?type=music&commandID=3 200 2 - 0.493 ms
node[22453]: debug: PlayQueue: Processing STOP
node[22453]: error: Caught error stopping false == true
I’m not sure if it might have something to do with my sound card. I’ve edited my mpd.conf the way @plexerix suggested to point to what I hope is my optical output.
Hi
If one does not have any other Linux plexamp install, how would one get a server.json file from existing Plexamp install, and how would one install in /home/pi/.config/Plexamp/
Thanks
@vuckozagi said:
If one does not have any other Linux plexamp install, how would one get a server.json file from existing Plexamp install, and how would one install in /home/pi/.config/Plexamp/
You can use any other Plexamp install, not just Linux.
@pf_Morpheus
Has anyone been able to get his to work on anything else but a RaspberryPI?
Your error seems to indicate mpd isn’t starting. Probably incompatible libraries.
@elan said:
Glad to see many of you had some degree of success
I build a “rough” Dockerfile builds fine and starts PlexAmp fine. Just make sure you have the settings.json file in the same file as this Dockerfile below. And then its just
docker build -t plexamp . && docker run plexamp
FROM alpine:3.7
RUN apk add --no-cache nodejs mpd mpc wget ca-certificates && \
update-ca-certificates && \
mkdir -p /root/.config/Plexamp/ && \
wget https://files.plexapp.com/elan/plexamp-v1.0.5-pi.tar.gz -q && \
tar xzf plexamp-v1.0.5-pi.tar.gz -C /root
COPY server.json /root/.config/Plexamp/
ENTRYPOINT ["/usr/bin/node", "/root/plexamp/server/server.prod.js"]
@erlis said:
I build a “rough”Dockerfilebuilds fine and starts PlexAmp fine.
Oh wow, very cool! Out of curiosity, you don’t need mpd or mpc, do you?
@elan said:
@erlis said:
I build a “rough”Dockerfilebuilds fine and starts PlexAmp fine.Oh wow, very cool! Out of curiosity, you don’t need
mpdormpc, do you?
I’m not sure. I included it just to be sure. Have not had time to test it fully as the family got hungry, will keep you updated when I get my next computer slot
.
My bad, the Dockerfile I showed before didn’t work on my rpi. Instead I had to rely on the node:9-stretch base container. I still have issues connecting to MPD (via 127.0.0.1:36600) from the container (although I have mpd runnig on my docker host).
Will see if I have some more time to investigate how to solve it (perhaps I need to run mpd inside the container, we’ll see).
Here is my latest Dockerfile that runs plexamp but can’t reach mpd.
FROM node:9-stretch
COPY server.json /root/.config/Plexamp/
COPY plexamp-v1.0.5-pi.tar.gz /root
RUN tar xzf /root/plexamp-v1.0.5-pi.tar.gz -C /root
ENTRYPOINT ["node", "/root/plexamp/server/server.prod.js"]
@erlis said:
Will see if I have some more time to investigate how to solve it (perhaps I need to run mpd inside the container, we’ll see).
Running the MPD binary in resources/helpers inside the container makes the most sense to me.
@elan said:
Running the MPD binary in resources/helpers inside the container makes the most sense to me.
Well, since the container is a minimum container didn’t that work (lacking libasound.so.2 and libiconv.so.2)
Did an apt-get update && apt-get install -y mpd and started mpd from my container…
Now I get:
debug: HTTP: Issuing request to https://192.168.1.2:32400/:/timeline?state=playing&duration=295553&playQueueItemID=15831&key=%2Flibrary%2Fmetadata%2F100503&ratingKey=100503&playQueueID=2450&playQueueVersion=2&containerKey=%2FplayQueues%2F2450&hasMDE=1&X-Plex-Device-Name=Plex%20Amp
info: [POWER] Turning power on!
error: [POWER] Error opening serial port! Error: Error: No such file or directory, cannot open /dev/ttyUSB0
And an error message on plex-web where I tried to start the song…
I think the issue might be that mpd is running on the host (and I can’t access the audio-card from my container), or is it failing due to missing serial port?
You need to use the bundled one (presumably need to add those deps). It’s a special build of the app, and Plexamp isn’t compatible with the standard one.
Victory!
Had to run my container with --device /dev/snd and now it works!
Time for bed now but will try to write up what I did tomorrow.
@elan said:
You need to use the bundled one (presumably need to add those deps). It’s a special build of the app, and Plexamp isn’t compatible with the standard one.
That is strange, my docker version uses the debian stretch version of MPD.
I couldn’t find a deb-package that contains libiconv.so.2 so I’m unable to get the bundled MPD running (both from Docker and from my native raspbian stretch version) perhaps the bundle should contain the missing files… Oops, libicon.so.2 is included in resources/helpers just had to set the correct LD_LIBRARY_PATH.
Here is a working Dockerfile (node:9-stretch is unfortunately quite big but the rest is quite straightforward). It requires that you have a server.json file in the same directory as your Dockerfile.
FROM node:9-stretch
RUN apt-get update && apt-get install -y libasound2 && \
rm -rf /var/lib/apt/lists/*
RUN wget --no-verbose https://files.plexapp.com/elan/plexamp-v1.0.5-pi.tar.gz && \
tar xzf plexamp-v1.0.5-pi.tar.gz -C /root && \
rm plexamp-v1.0.5-pi.tar.gz
COPY server.json /root/.config/Plexamp/
ENV LD_LIBRARY_PATH /root/plexamp/resources/helpers/linux-arm
EXPOSE 20000
ENTRYPOINT ["node", "/root/plexamp/server/server.prod.js"]
You build as follows docker build -t plexamp:v1.0.5 . and run docker run -it --device /dev/snd plexamp:v1.0.5.
Thanks so much, @erlis! What are your thoughts about distributing it using Docker vs AppImage vis a vis compatibility and autoupdate?
@elan said:
Thanks so much, @erlis! What are your thoughts about distributing it using Docker vs AppImage vis a vis compatibility and autoupdate?
No problem, glad I can be of help (been proud user of Plex for 10+ years now).
I don’t have any preferences on how to distribute it but I guess a Docker is quite good.
Installed Plexamp on moOde on RPi 2b with HiFiBerry Digi+ Pro. moOde, Squeezelite, UPnP renderer, and Plexamp work Lovely Jubbly. The only problem is that Plexamp has volume output at about 60%.
Any suggestions how to increase the volume since signal is digital and amixer apparently does not have any influence on the volume. Changing the volume in iOS app does nothing to change the volume.
@elan I have noticed that you use Digital Sound Card. How do you controll the volume?
Thanks
@vuckozagi said:
The only problem is that Plexamp has volume output at about 60%.
I think this is loudness leveling (aka replaygain).
@elan I have noticed that you use Digital Sound Card. How do you controll the
MPD and Plexamp support “soft” volume level, rPI can be volume controlled from another Plex app (including Plexamp). If you don’t want the loudness leveling (which is quite beneficial in most cases), you can disable it by editing the server.json as described in one of the release notes.