Manually update your Plex Media Server on Freenas – Quick & Simple

In this tutorial, I show you how to manually update Plex on Freenas without relying on the developers of the Plex Plugin of Freenas to release a new version. It seems that sometimes the Plex Plugin gets updated very close to a new Plex release, and sometimes it doesn’t.

If you don’t want to wait until the Plex Freenas Plugin Devs release a new version, there’s another way how to update your Plex on Freenas straight away. The GitHub provided below script will pull the newest release directly from Plex, so you could also implement a script to do that for you.

Table of Contents

Step 1 – Connecting to FreeNAS via SSH or Web GUI

Navigate to Plugins -> Installed and switch off your Plex Media Server.

Now connect to your FreeNAS using either SSH with Putty or the built-in Shell in the WebGUI:

Manually update Plex on FreeNas

Step 2 – Manually update Plex on FreeNas

Once you are inside the shell, type to manually update Plex on FreeNas:

jlsCode language: Bash (bash)

And note down which JID your Plex Media Server has. If you have only one Jail, it will be #1.

Manually update Plex on FreeNas
Noting down the Jail Number

Next, we type:

jexec 1 cshCode language: Bash (bash)

Followed by:

fetch -o PMS_Updater.sh https://raw.githubusercontent.com/mstinaff/PMS_Updater/master/PMS_Updater.shCode language: Bash (bash)

Next, we are going to set permissions:

chmod 755 PMS_Updater.shCode language: Bash (bash)

And finally, we run the script:

./PMS_Updater.sh -vv -aCode language: Bash (bash)

After the script run-through, you should be on the newest version of Plex Media Server. Switch on your Plex Media Server under Plugins -> Installed.

How to install Plex on a Jail in Freenas: Tecmint

GitHub Script: https://raw.githubusercontent.com/mstinaff/PMS_Updater/master/PMS_Updater.sh

Conclusion

This is how easy it is to update your Plex Media Server on Freenas. The process should still work now in 2023. Plex Media Server is still among the most popular Media Servers out there today and is widely used for listening to music, watching movies, or sharing content with your whole family.

If you like, check out some of our other FreeNAS Guides & Tutorials by using the links below!

ℹ️ Related Articles
👉 My Popular DIY FreeNAS Build
👉 Use FreeNAS as an UniFi Controller
👉 FreeNAS Smart Tests & Scrubs
👉 How to install Plex Media Server on FreeNAS
👉 How to install FreeNAS
👉 How to create Windows Shares on FreeNAS
👉 Manually Update Plex Media Server on FreeNAS
👉 Upgrade FreeNAS to TrueNAS

76 thoughts on “Manually update your Plex Media Server on Freenas – Quick & Simple”

  1. Thanks for the clear and concise guide! I was able to manually update my Plex Media Server on FreeNAS without any issues. Your step-by-step instructions made the process so much easier. Keep up the great work!

    Reply
  2. Great method… really appreciate your work! I have a question about how to find the IP address of ‘Authorized Devices’. I have an unwanted leach that keeps on showing up. Didn’t notice this until recently. Figured the password change and update would have killed it.

    I use pfSense and think I can just block the ip range. Have used Geo Blocking already to eliminate unwanted access to my system.

    Can you help ?

    Reply
  3. If you kill the plugin the jail disappears and it can’t be updated. if you don’t kill the jail. the script works fine and says it is update but Freenas 11.3 doesn’t show the updated version when restarting the plugin or jail after the upgrade.

    Reply
  4. Thanks! This worked for me. Only thing is that you need to get the jail # prior to turning off the plug in.
    Version 1.21.1.3876 Up to date

    which I love to see in Plex!

    Reply
  5. I get this error message:

    root@plexmediaserver_1:/ # ./PMS_Updater.sh -vv -a
    sed: /Plex Media Server/Preferences.xml: No such file or directory
    Shared object “libc++.so.1” not found, required by “Plex Media Server”
    Using URL https://plex.tv/api/downloads/5.json
    Searching https://plex.tv/api/downloads/5.json for the FreeBSD download URL ….
    .Shared object “libdl.so.1” not found, required by “Plex Script Host”
    fetch: https://plex.tv/api/downloads/5.json?channel=plexpass&X-Plex-Token=: Auth
    entication error
    Could not find a FreeBSD download link on page https://plex.tv/api/downloads/5.j
    son?channel=plexpass&X-Plex-Token=

    can anyone help me? Merry Christmas!!!

    Reply
  6. Just used this script on 11.2-U6, and it still works great, BUT, only if you have a Plex Pass, which I do not (yet). I edited the script for myself to make it work, and it’s only a couple of small changes that are needed.

    When passing the -n argument from the command line to use the normal version rather than the Plex Pass version, it changes PLEXPASS=0, but that ONLY changes the version to download. What it needs to do as well, is change the following:

    Line 8, change the variable from “plexmediaserver-plexpass” to “plexmediaserver”
    Line 9, change the variable from “plexmediaserver-plexpass.bak” to “plexmediaserver.bak”
    Line 194 old: service plexmediaserver_plexpass stop 2>&1
    Line 194 new: service plexmediaserver stop 2>&1
    Line 212 old: service plexmediaserver_plexpass start
    Line 212 new: service plexmediaserver start

    After those changes, I updated from 1.16 to 1.18.
    (keep in mind as well, before the script would even run, you have to install the wget package)

    Thanks for the great script!!

    Reply
  7. If anyone is getting the error:

    Shared object “libdl.so.1” not found, required by “wget”

    Use this command:

    ln -sf /lib/libc.so.7 /usr/lib/libdl.so.1

    And it’ll work. It appears the issue is related to FreeBSD ending support for 11.1. All packages are now being built for 11.2, which does have libdl.

    Reply
  8. Is there a specific reason not to just:

    jls

    then

    jexec 1 csh (replace 1 with whatever jail number you have!)

    then

    pkg update

    then

    pkg upgrade

    then

    restart jail

    ?

    Reply
  9. Everything seem to go well using this method except for the final execute I get..
    root@plex:/ # ./PMS_Updater.sh -l PlexBuild.tar.bz2 -vv -a
    ./PMS_Updater.sh: 1: Syntax error: “)” unexpected
    ./PMS_Updater.sh: 1: Syntax error: Error in command substitution

    Reply
  10. got the same issue. Just rolled back to snapshot and stick to old version, till I can be bothered to re-setup a new jail
    Did you find a fix?

    Reply
  11. On freenas 11.1, the plex service refuses to start… I’ve ran through this update/script more than once in the past. Not sure what has changed

    Reply
  12. I’m getting the following error message under Freenas 11.2. Can you help?

    root@plexmediaserver_1:/ # ./PMS_Updater.sh -vv -a
    ./PMS_Updater.sh: /usr/local/share/plexmediaserver-plexpass/Plex Media Server: not found
    Using URL https://plex.tv/api/downloads/5.json?channel=plexpass
    Downloading https://plex.tv/api/downloads/5.json?channel=plexpass
    Shared object “libdl.so.1” not found, required by “wget”
    Error downloading https://plex.tv/api/downloads/5.json?channel=plexpass

    Reply
  13. geting error after commad ./PMS_Updater.sh -vv -a

    Shared object “libsoci_core.so” not found, required by “Plex Media Server”
    Using URL https://plex.tv/api/downloads/5.json?channel=plexpass
    Downloading https://plex.tv/api/downloads/5.json?channel=plexpass
    –2019-02-28 21:09:54– https://plex.tv/api/downloads/5.json?channel=plexpass
    Resolving plex.tv (plex.tv)… 54.154.198.3, 52.31.211.151, 52.18.254.79, …
    Connecting to plex.tv (plex.tv)|54.154.198.3|:443… connected.
    HTTP request sent, awaiting response… 200 OK
    Length: unspecified [application/json]
    Last-modified header missing — time-stamps turned off.
    –2019-02-28 21:09:55– https://plex.tv/api/downloads/5.json?channel=plexpass
    Reusing existing connection to plex.tv:443.
    HTTP request sent, awaiting response… 200 OK
    Length: unspecified [application/json]
    Saving to: ‘/tmp/5.json?channel=plexpass’

    [ ] 24 –.-K/s in 0s

    2019-02-28 21:09:55 (1.20 MB/s) – ‘/tmp/5.json?channel=plexpass’ saved [24]

    Download Complete
    Searching https://plex.tv/api/downloads/5.json?channel=plexpass for the FreeBSD
    download URL …..Could not find a FreeBSD download link on page https://plex.tv
    /api/downloads/5.json?channel=plexpass
    root@plexmediaserver_1:/ #

    Reply
  14. Does this work with FreeNAS 11.2 Beta2? When I stop the plugin via the web ui, the shell option under the jail disappears and i can’t get in unless i start it again. I am running the plexpass version but VERY new to FreeNAS and can’t figure out how to update plex. Last time I tried it wrecked my Plex and I had to remove and reinstall it, so Im a little nervous to try it. Do I need to change anything from the above instructions when doing it thru 11.2 beta2 (using beta web UI)? TIA!

    Reply
  15. I had to make a slight modification to your sh file in order for mine to work.

    I received the error “/usr/pbi/plexmediaserver-amd64/share/plexmediaserver/Plex Media Server: not found”

    I changed the “PMSPARENTPATH to be “/usr/local/share” as that is where my plexmediaserver/Plex Media Server folder lived.
    Also used steps 5 and 6 from Tom above to manually update from local file, because I assume the cert authority folder also does not exist: CERTFILE=”/usr/local/share/certs/ca-root-nss.crt”

    Reply
  16. Good work-around. Also though, on the github page it calls out the need to put in a UN/PW combo to get the latest Plex Pass version instead of the latest public release.

    „Running without the username/password or bad username/password will retrieve the latest public release rather than the latest Plex Pass release.“

    Reply
  17. Hmm…

    Stopped the Plex jail via GUI
    SSH on to server and enter JLS …. Headings and nothing else
    Start server again and retry teh command.. JLS
    Ahh this time it works, seems it’s 2
    Shut down the server and enter jexec 2 csh
    I get ” jail_attach(2) : operation not permitted”
    Ok
    Try it with sudo
    nope
    get “jexec: jail_attach(2): Invalid argument”

    Stumped…

    Can any one help?

    Reply
    • Don’t stop the jail in the GUI. That shuts it down completely. The author means to stop the Plex plugin via the GUI.

      Reply
  18. Thanks so much 🙂
    I had no idea where the Plex was installed, this script made it plain simple, took less than 2 minutes and it’s updated and working 🙂

    Reply
  19. Thank you for this guide. I had to use the -u and -p options to get the latest version for plex pass users. Works like a charm now.

    Reply
  20. I have followed the comments here and even installed the link directly. It appears to run and says that it has completed and please is on the latest version.

    I even restarted the jail manually

    In the plex gui under server it still has the old version number and says to download the update.

    I am on the new version 11 of FreeNAS.

    Reply
    • Fix until the script is updated:

      1) Goto https://www.plex.tv/downloads/ turn on ‘Plex Pass Downloads’ and select ‘FreeBSD’ from the drop down
      2) Copy the url of the ‘DOWNLOAD 64-BIT’ button
      3) SSH into your FreeNAS box
      4) Follow steps 1-4 of the above article
      5) Execute: fetch -o PlexBuild.tar.bz2 {PateInURLCopiedEarlier}
      6) Execute: ./PMS_Updater.sh -l PlexBuild.tar.bz2 -vv -a

      Done!

      Reply
  21. Hi, I get errors about directories that are missing and such, any assistance welcomed and appreciated!

    root@plex:/ # ./PMS_Updater.sh -vv -a
    ./PMS_Updater.sh: /usr/pbi/plexmediaserver-amd64/share/plexmediaserver/Plex Medi
    a Server: not found
    Using URL https://plex.tv/api/downloads/1.json?channel=plexpass
    Downloading https://plex.tv/api/downloads/1.json?channel=plexpass
    ./PMS_Updater.sh: wget: not found
    Error downloading https://plex.tv/api/downloads/1.json?channel=plexpass
    root@plex:/ #

    Reply

Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Share via
Copy link
Powered by Social Snap