Customizing your Plex configuration on systemd
based systems
This information is intended for those systems where cat /proc/1/comm
returns systemd
.
On systems which use Systemd (Ubuntu 16+, Fedora 26+, Centos 7+, Debian 8+,) you create this customization file which SystemD reads prior to launching PMS. This file is independent of the default configuration and service control mechanisms in /lib/systemd/system/plexmediaserver.service
. Your customization override is preserved across updates, uninstall, re-install operations.
If your system returns init
, please edit the values in /etc/defaults/plexmediaserver
While you may change /lib/systemd/system/plexmediaserver.service
, it is under the control of the package manager and subject to replacement without warning at any time during an update. To provide stability, systemd allows creation of an override.conf
file to customize and create enduring local adjustments to a distributed default package.
You can change a number of parameters about how PMS runs on your Linux system including where the metadata (Library) resides.
The most common, and safest, parameters you can change are:
- Environment variables.
- Username PMS uses at runtime
- Group name PMS uses at runtime
All Environment variable specifications are of the forms:
Environment="VARIABLE_NAME=literal string here. spaces are allowed"
or
Parameter=value
Examples:
Environment="PLEX_MEDIA_SERVER_APPLICATION_SUPPORT_DIR=/home/plexdir/Application Support"
User=chuck
WARNING: /media
is a reserved directory name on Gnome-based systems. Do not put your PMS library there
The Plex-supplied service definition should not be modified as any changes are subject to overwriting at every update. For changes to persist, those changes must be maintained in /etc/systemd/system/plexmediaserver.d/override.conf
The task, with PMS stopped, is:
- Create the ‘override’ file in directory
/etc/systemd/system/plexmediaserver.service.d
- Move any files if needed
- Change ownership if needed
- Inform systemd of the changes
- Start PMS
In the example below, the following will be shown. Tailor to your environment as needed
a) Run as user chuck:chuck
b) Move the metadata (Library) to /home/plexdir
for the extra space
c) Relax the default file-creation permissions (for plug-ins, etc)
The following steps must be done as root, elevate first and get a full shell to work in
sudo sh
Begin here:
A. Create directory /etc/systemd/system/plexmediaserver.service.d
.
In this directory, create override.conf
configuration customization entries similar to the following example
#
# Customize Plex's config
#
# Identify this as a service override
[Service]
#
# Move the data directory
Environment="PLEX_MEDIA_SERVER_APPLICATION_SUPPORT_DIR=/home/plexdir/Library/Application Support"
#
# These values are only needed if you wish to change user & group
User=chuck
Group=chuck
#
# This is needed to change the default umask
UMask=002 # this must be octal - See warning below
Warning:
Some distros used UMask
while others use Umask
Some distros want 4 octal digits for, not the standard 3. (Go figure…).
Please be cautious of this on your system.
B. Inform SystemD of the changes and test the related & reconfigured PMS
systemctl daemon-reload
systemctl start plexmediaserver
C. Test your system. Verify everything is exactly as it was. If not, resolve before proceeding
http://127.0.0.1:32400/web
Administration note:
Once you have created the override file, you can later edit it with systemctl edit plexmediaserver
E. Shortcut version
If you have only a few customizations to make, you may opt to let systemctl
make the files for you
sudo systemctl stop plexmediaserver
sudo systemctl edit plexmediaserver
- Enter the same override information as shown above
- Save and exit the editor
sudo systemctl daemon-reload
- Perform any required ownership changes or other permission work required
sudo systemctl start plexmediaserver