READ ME FIRST: About Server armhf (arm64) Debian / Ubuntu

server-raspberry-pi

#1

Introduction

There is no official Ubuntu / Debian Plex Media Server package for armhf or arm64. But fortunately, some of the existing Plex Media Server binaries for Synology and Netgear ARMv7 NAS devices work very well on the generic armhf port of Ubuntu / Debian and even on the arm64 ports, using the armhf multiarch support. For the last two years, I have been creating ready to use packages for Ubuntu and Debian and hosted my own repository on dev2day.de. Beginning today, we will use this special section of the Plex forum to provide support for my packages and my repository. Nothing else will change.

Important Notice

I you have used a RPi tutorial mentioning a /etc/default/plexmediaserver.prev file please start from scratch and only use my instructions or ask your questions here in the forum. The tutorial author does not know what he / she is talking about. Please see the following link for more background:

[Important Advice] Avoid any tutorial that mentions the `/etc/default/plexmediaserver.prev` file

Repository Packages

My repository does not contain Plex Pass Betas, only the public and stable releases. Please check the official release thread before you ask me why PMS version X.Y.Z is not available in my repository.

Beta packages are available in the following thread.

Plex Media Server for armhf (arm64) Debian / Ubuntu: Beta Packages

Device Support

Historically, the first supported device was the ARMv7 Raspberry Pi 2. In theory, all ARMv7 and all ARMv8 devices with AArch32 support can use my package and repository. This includes for example also the Raspberry Pi 3, the Banana Pis and ODROIDs.

Unsupported Devices

Please tell me about your problems so I can maintain a list of known incompatible devices here.

Manage Expectations

Video transcoding is not recommended at all on ARMv7 and ARMv8 devices. For the best experience, always aim for Direct Play support on all of your devices.

https://support.plex.tv/articles/200250387-streaming-media-direct-play-and-direct-stream/

OS Installation

It’s out of scope of this text to explain how to install Ubuntu / Debian on your ARMv7 / ARMv8 device. Please see the official manufacturer pages that will always contain the links to most up-to-date tutorials and images.

Most importantly: in 99 % of all cases you will just have to flash the appropriate SD card image and maybe resize the root partition. You will NOT have to prepare a special Plex user, install special cron jobs to reboot your device every night or install some fancy service control service. Please do not listen to most of the tutorials out there. Just finish the basic installation and that’s it.

Here is a growing link list for the most important devices:

Plex Installation

Now, you have to install the Plex Media Server package from my Debian repository. Select the below commands according to the architecture of your Debian distribution. If you are in doubt use the command uname -m.

armhf / ARMv7 (e.g. Raspbian for RPi 2/3)

# become root
sudo su
# add my public key
wget -O - https://dev2day.de/pms/dev2day-pms.gpg.key | apt-key add -
# add my PMS repo
echo "deb https://dev2day.de/pms/ stretch main" >> /etc/apt/sources.list.d/pms.list
# activate https
apt-get install apt-transport-https
# update the repos
apt-get update
# install PMS
apt-get install plexmediaserver-installer

arm64 / ARMv8

# become root
sudo su
# add my public key
wget -O - https://dev2day.de/pms/dev2day-pms.gpg.key | apt-key add -
# add my PMS repo
echo "deb [arch=armhf] https://dev2day.de/pms/ stretch main" >> /etc/apt/sources.list.d/pms.list
# activate https
apt-get install apt-transport-https
# enable armhf support
dpkg --add-architecture armhf 
# update the repos
apt-get update
# install PMS
apt-get install plexmediaserver-installer:armhf 

Initial Web Configuration

To complete the installation please read the section “Opening the Plex Web App on a Device Other than the Server Itself” of the official Plex Linux guide.

https://support.plex.tv/articles/200288586-installation/

Mounting USB Drives

To be able to use your media on your USB drives you have to mount these drives with the correct Linux permissions. There is a great tutorial in the general Linux section. Please read this guide! It will answer 95% of your questions.

Do not change the user of the Plex Media Server to pi or root. Never! Just read the guide and you will learn how to live with the default user plex.

Using EXT or NTFS drives (internal or external) on Linux

User Mode Plex Media Server

Now, the package contains an additional systemd unit to help new Linux users to manage PMS on their Linux Desktop. By default, PMS is a global service and uses user plex. Now, it is also possible to let PMS use the Desktop user, e.g. pi. The user can make use of the Desktop Environment tools to manage mount points / network shares / drives / … just like on Windows and Mac.

The plex data is in ~/.plex.

The recommended configuration is the default global PMS service mode. The new user mode is just for Desktop users and users having little Linux experience.

Limitations of the user mode:

  • PMS will stop as soon as the user logs out of the Desktop! Just lock the screen.

HowTo:

# stop global PMS
sudo systemctl stop plexmediaserver
# disable global PMS
sudo systemctl disable plexmediaserver

# start PMS as current user (NO sudo!!!)
systemctl --user start plexmediaserver
# (optional) automatically start PMS on login
systemctl --user enable plexmediaserver

Most other Problems

First read the tutorials in the Linux Tips section before asking general Linux questions here.

https://forums.plex.tv/tags/c/plex-media-server/computers/server-linux-tips

Bug Reports

Please read “Reporting a Linux Bug” and provide the discussed information.

https://forums.plex.tv/t/reporting-a-linux-bug-read-first/101911

Package Scripts


[SOLVED] First installation of Plex media server on Debian and on Raspberry (raspbian)
Plex media server does not launch at boot, but only after login
How to install PMS on Pine64+ (2GB RAM)
ARMv8 platform alpha testing - Discussion & Troubleshooting
RP3 stretch fails to find Hauppauge DualHD USB
Rasberi pi
#2