Skip to content

Plex in Docker on a Synology NAS (Hardware Transcoding)

UpdateDate
New guide released06/12/2021
Added note around Ryzen based models27/12/2021

In this guide I am going to take you through the setup of Plex in Docker using Docker Compose.

This will be the first guide which involves using Docker Compose. As of writing the Synology UI does not have the capability of passing through specific hardware to a container, this means we will need to set up Plex via the command line. However, don’t freak out as it’s not that difficult!

Plex Pass

You will only benefit from hardware transcoding if you have an active Plex Pass either monthly or lifetime. if you don’t have one you can either follow this guide or jump over to the non hardware transcoding version.

Does my Synology support Hardware Transcoding?

Before we do anything else, you need to make sure your model of Synology has Intel Quick Sync. You need to do a quick lookup via the two pages below, on the first one, find your NAS model then on the Intel site lookup it’s CPU specifications. (If you are using a new model with a Ryzen v1500b it does not have hardware transcode capabilities)

For example the DS920+ has an Intel Celeron j4125

If we then look up the j4125 on the Intel site we can see it is capable of Quick Sync

Quick Sync is Available

If you find that Quick Sync is not available on your model you can jump back over to the standard guide here

As usual, it’s important you complete the two proceeding guides which will get your folder structure and docker, user setup.

Docker Compose

We will be using Docker Compose to set up the Plex container. In a nutshell we will be creating a text file (YAML formatted) which tells Docker exactly how we want to set up a specific container.

The next steps can be done either using a code/text editor such as Notepad++ or to keep things simple for this guide we will be using the Synology Text Editor which can be installed from the Package Center.

Install Text Editor from the Package Center

Open up Text Editor and click on File then New to start a new file.

You can now copy and paste the details below into the new text file, it is important you don’t change the spacing as YAML has to be formatted correctly in order to be read by Docker Compose.

version: "2.1"
services:
  plex:
    image: lscr.io/linuxserver/plex
    container_name: plex
    network_mode: host
    environment:
      - PUID=YOURID
      - PGID=YOURGID
      - VERSION=docker
    volumes:
      - /volume1/docker/plex:/config
      - /volume1/data/media:/media
    devices:
      - /dev/dri:/dev/dri
    restart: unless-stopped

Environment Variables

We need to make some changes in order for the container to have the correct permissions to save its configuration files and to have access to your media.

PUID and PGID

When you created your docker user you would have noted down these IDs add these to the compose file in the ‘environment:’ section

Volumes

We can now pass through our file paths into the container they are mounted using the volume’s section of the compose file.

I have pre-filled this section to pass the correct paths, the only thing that you may need to change is the /volume1/ if your file paths are on a different volume.

Your final file should look similar to the one shown below.

The final file

Saving the Compose File

We now need to save this file into our docker share.

Click on File then Save As, navigate to the ‘Docker’ share and create a new folder called ‘plex’ (lower case)

You need to change the ‘File name’ to plex.yml and save it in the ‘plex’ folder

SSH and Docker-Compose

It’s time to get logged into you Diskstation via SSH, you can do this in the same way as when you obtained your IDs in the ‘Setting up a restricted Docker user‘ guide.

Once you have logged in you will need to give 2 commands, you can copy and paste these one at a time — you will need to enter your password for the command starting with ‘sudo’

First we are going to change directory to where the plex.yml is located, type the below and then press enter.

cd /volume1/docker/plex

Then we are going to instruct Docker Compose to read the file we created and complete the set up the container. Again type the below and press enter.

sudo docker-compose -f plex.yml up -d

When the command has completed you should be able to see Plex running in the list of containers in the Synology GUI.

After a few minutes you should be able to access the server and go through the Plex setup by going to the IP of your NAS in your browser followed by port 32400/web/

e.g 192.168.0.45:32400/web/

You will be asked to sign in or sign up for an account if you don’t have one already.

You should now be able to add your media which will be in the /media folder within Plex

We mounted everything to /data, so you can find your media in that folder and add each of your Movie / TV libraries

Once you have got to the main Plex interface make sure you go into the settings and turn on

  • Enable HDR tone mapping
  • Use hardware acceleration when available

That’s it you are all setup. When a new server update is available the container can be updated as normal through the DSM interface using my mini guide on the left-hand menu of the site.

Throw me some bits or buy me a coffee?

If you have found my site useful please consider pinging me a tip as it helps cover the cost of running the site, you can even buy me a coffee 🙂

Buy Me A Coffee
  • Bitcoin
  • Ethereum
  • Tether
  • Cardano
  • Polkadot
  • Binance coin
  • Litecoin
  • Bitcoin cash
  • Dogecoin
  • Monero
  • Omisego
Scan to Donate Bitcoin to bc1qfq8ccs2yar7aa60fye8wdpanwtvpqzvrys4h6u

Donate Bitcoin to this address

Scan the QR code or copy the address below into your wallet to send some Bitcoin

Tag/Note:- Donations
Scan to Donate Ethereum to 0x7C5A441a6Dd520a796442DC6DeFeFE88d79D95f3

Donate Ethereum to this address

Scan the QR code or copy the address below into your wallet to send some Ethereum

Scan to Donate Tether to 0x7C5A441a6Dd520a796442DC6DeFeFE88d79D95f3

Donate Tether to this address

Scan the QR code or copy the address below into your wallet to send some Tether

Scan to Donate Cardano to addr1qysaldwdyqu9u8y9a0l5d35sqv202xr4768se8wevlexatepm76u6gpctcwgt6llgmrfqqc575v8ta50pjwajeljd6hsa6ggvv

Donate Cardano to this address

Scan the QR code or copy the address below into your wallet to send some Cardano

Scan to Donate Polkadot to 14R7Xr3587UKYsnnLhvBd7YfVgXkW9i3FU4kHP8DocsdLSha

Donate Polkadot to this address

Scan the QR code or copy the address below into your wallet to send some Polkadot

Scan to Donate Binance coin to bnb14ye5rju74u5ythneaum2rjvp8eqep6wq8flghx

Donate Binance coin to this address

Scan the QR code or copy the address below into your wallet to send some Binance coin

Scan to Donate Litecoin to LfNfer3aSqLx4p8KfbbkT96ArXLXLDPxoD

Donate Litecoin to this address

Scan the QR code or copy the address below into your wallet to send some Litecoin

Scan to Donate Bitcoin cash to qqz9pgaxdz4mtdxqxnlk7apqmsn6qzw9j5pn5jpvrc

Donate Bitcoin cash to this address

Scan the QR code or copy the address below into your wallet to send some Bitcoin cash

Scan to Donate Dogecoin to DCwbNzfYHx22MDSyEVLWgfjxziYHtcgwAM

Donate Dogecoin to this address

Scan the QR code or copy the address below into your wallet to send some Dogecoin

Scan to Donate Monero to 45qwFr42XiA8egC5z2HdSQ2FzzP9VR1MvD5Sicg4EhGvdvTutx9GsF6DeU8DHAsTZy2ShBERjCB5rdy8iQ9CFnFu9Z6Adgw

Donate Monero to this address

Scan the QR code or copy the address below into your wallet to send some Monero

Scan to Donate Omisego to 0x162fc7781D3C6c6f27197A3A92567b5DAF258f19

Donate Omisego to this address

Scan the QR code or copy the address below into your wallet to send some Omisego

Published inPlex

29 Comments

  1. Ari Ari

    Strange – the transcoder settings in Plex look different for me. I have it set to show advanced settings but I don’t see either of the options you mentioned. Any idea what the issue might be?

    • Dr_Frankenstein Dr_Frankenstein

      Hey, which model NAS do you have? I don’t have a hardware capable one so this screenshot is from my 9th Gen NUC, but it should be similar.

      • Ari Ari

        I’m running a DS220+ but I think I found the issue – those options are only available with Plex Pass. Would that make sense?

        • Dr_Frankenstein Dr_Frankenstein

          Hey, yes only plex pass users have access to hardware transcoding. It looks like I missed the paragraph from my draft of the guide. I have put it in to make that clearer. You can still use your setup as normal.

    • Dr_Frankenstein Dr_Frankenstein

      The J4125 in the 720+ should be able to do at least one 4k transcode including tone mapping. I have an 1815+ which doesn’t have Quick Sync so can’t test directly.

  2. vmvd vmvd

    Great guide, thank you for creating. However since English is not my native language I am not sure I got this correct.

    In this part of the Plex guide we want hardware transcoding. Thus we check if our model of Synology has Intel Quick Sync – which is as I understand necessary for hardware transcoding.

    But then in the quide it is mentioned that:
    “If you find that Quick Sync available on your model you can jump back over to the standard guide here.”

    Is here perhaps missing an “is not available” is why should we jump back to the standard guide, if Quick Sync is available on our model?

    • Dr_Frankenstein Dr_Frankenstein

      Hey, thanks for spotting the error I have fixed that paragraph.

  3. Nick Nick

    Hi, I already have plex installed through the package centre. It’s only been running a couple of weeks at most and has already unexpectedly stopped running twice, whereas everything in docker has been solid. If I switch and install it this way, do I need to setup an entirely new server? or is there an easy way to copy it over? Any other advice in this matter would be gratefully received.

    Thanks for another top guide 🙂

    • Dr_Frankenstein Dr_Frankenstein

      Hey, I believe it is possible to migrate I am just doing a test on my Virtual DSM. It’s probably worth jumping on Discord as it won’t be easy to explain in the comments.

      • Nick Nick

        Hey thanks so much. I found a guide but have decided it’ll be best just to set up a fresh server. Will catch up with you on discord soon though as I’ve always got questions lol. Thanks again

  4. Stephen Stephen

    What is the advantage of running this through Docker as opposed to a native Synology Package? Just quicker updates and I guess more control on VPN use if you wanted to VPN say a download client but not Plex remote?

    • Dr_Frankenstein Dr_Frankenstein

      The main reason people move are due to the general issues with 3rd party packages that occur when there is a DSM update that breaks functionality. With Docker all the required packages to run Plex is within the container itself removing it away from the System.

      If you are running a system-wide VPN connection your containers will also be using it so no difference there.

Leave a Reply

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