Install Plex Media Server on SmartOS
In this article we’ll install Plex Media Server on SmartOS. Plex Media Server is a media server that organizes and makes available audio, video an more. Smart OS is a “converged container and virtual machine hypervisor”, based on illumos which is a fork of the now defunct OpenSolaris. SmartOS supports Linux branded containers (zones), which will allow us to install Plex Media Server on SmartOS. These instructions might work on other illumos distributions as well, with some modifications.
I ran this on my HPE MicroServer for many years to serve media files. It was solid as a rock. Nowadays I run Plex Media Server on a cluster of Intel NUCs.
This article assumes you have a working SmartOS host and that you are logged in as root
.
Create a Linux Branded Zone
Find the latest CentOS lx-dataset
image, in this case 3dbbdcca-2eab-11e8-b925-23bf77789921
:
# imgadm avail | grep centos
Import the CentOS image:
# imgadm import 3dbbdcca-2eab-11e8-b925-23bf77789921
Next we’ll create the container itself based on the imported CentOS image. The following command line will create a new CentOS container with 2048
MB RAM, 32
GB disk and a statically configured NIC (change the NIC settings to match your network setup). It’ll also pass a ZFS dataset from the host system to the container (/tank/media
). This can be really useful to give Plex Media Server access to media files stored on the host.
Create the container:
# vmadm create << EOL
{
"alias": "plex-media-server",
"hostname": "plex",
"brand": "lx",
"kernel_version": "3.10.0",
"image_uuid": "3dbbdcca-2eab-11e8-b925-23bf77789921",
"max_physical_memory": 2048,
"max_locked_memory": 2048,
"max_swap": 2048,
"quota": 32,
"filesystems": [
{
"type": "lofs",
"source": "/tank/media",
"target": "/tank/media"
}
],
"nics": [
{
"nic_tag": "admin",
"ip": "10.0.2.2",
"netmask": "255.255.0.0",
"gateway": "10.0.0.1"
}
],
"resolvers": ["8.8.8.8", "8.8.4.4"]
}
EOL
This will generate a message saying: Successfully created VM <UUID>
. Make note of the container UUID, we’ll need it next.
Install Plex Media Server
Next we’ll login to the newly created container (remember the UUID from earlier):
# zlogin <UUID>
Update the package cache and download the latest system packages:
# yum update -y
Download and install the latest version of Plex Media Server (this article uses version 1.18.0.1944
, find the latest version at plex.tv):
# cd ~
# wget https://downloads.plex.tv/plex-media-server-new/1.18.0.1944-f2cae8d6b/redhat/plexmediaserver-1.18.0.1944-f2cae8d6b.x86_64.rpm
# yum install plexmediaserver-1.18.0.1944-f2cae8d6b.x86_64.rpm
Finally, enable and start the Plex Media Server service:
# systemctl enable plexmediaserver
# systemctl start plexmediaserver
And that is all! Good luck with your SmartOS based media server.
Revision
2019-10-20 Accidentally tried to grep
Ubuntu instead of CentOS, thanks to AThreeK.