This handout is to supply your Plex with it’s own ipaddress. In my config I use a bridge network interface. For me, this is the solution for Plex finding the content folders on Truenas Scale.
Adding ipaddress to network interface:
Go to Network
Edit the Bridge interface
At the bottom click Add
Type the (free) static ipaddress and netmask
(the extra ipaddress will be added below the existing one at the bridge interface)
Click Test Changes, Confirm and Test changes
Click Save changes, Save
Testing added ipaddress:
Go to System, Shell
Type: ip a show [bridge interface]
(beside the first ipaddress you will see the ipaddress just added)
Configuring Plex with the new ipaddress:
Go to Apps, your configured Plex app
Click Edit
Sroll down to ‘Additional Environment Variables’ and click Add
At Name type: PLEX_PREFER_IPV4
At value type: [the new static ipaddress]
Scroll to the bottom and click Update
Your Plex app will evolve from Deploying to Running
(now your Plex will be running the new static ipaddress)
Registering new ipaddress at local DNS server:
If you run a local DNS server you can add the new ipaddress as DNS-record
(just for your convenience)
Ye gads, things must change very fast around here because your description does not match the experience on Fangtooth. If you have suggestions after seeing this, I’d love to hear them.
Side note: In a further bit of confusion (on my part), I installed Portainer to see if it would lead me to assigning a fixed IP address to my Plex container. I see that all the networks that Portainer sees are completely wrong:
Hi MisterPi,
When I mentioned to type the Netmask it’s /24 or /23. Mostly /24 will due when your network range is 192.168.1.0 - 192.168.1.255. When your network range is 192.168.0.0 - 192.168.1.255 you have to use /23.
Regards, R
Thanks for responding. I see what you meant by netmask.
I found the Fangtooth guide to adding a bridge interface and followed them, they don’t deviate from yours very much (stop all apps & turn off SMB) and my results are the same because neither get me the desired result. I end back up with one interface and the same IP address.
The”official” documentation does not show the “Register Default Gateway” step either. Both clicking Skip and pitting in the existing gateway IP address give the same result - no bridge interface.
I think setting up a bridge interface is an important thing to do, I am not 100% certain I need it. I use Plex almost exclusively on an Apple TV which before upgrading all the way from Core to Scale, worked just fine. I set it up a long time ago and don’t recall needing to add a bridge interface, one seems to have been generated in the Jail by magic. I cannot get my Plex Apple TV app to find my running Plex instance which can only be accessed by a browser now. But this may be a different problem to be addressed in a separate post.
When I go into the Plex web interface, I see this:
And cannot figure out why I have that IP address attached to the interface Plex sees inside the container.
Edit: For reasons unknown, my Apple TV can now see my Plex app, so clearly there is a behind-the-scenes discovery process I don’t know about. I would still like to know how to give my Plex app it’s own IP address though.
I’m not very familiar with truenas apps, but I’m (kinda) familiar with docker in general.
The addresses you see in the portainer containers list are from the docker internal network. This network is used for inter-container communication. The strange part is – subnets of this network are usually starting from 172.*.
Hi MisterPi,
In my case my Truenas has a fixed IP address. From that point I can easily create a bridge network. In my case I run a virtual Windows server which needs to access Truenas resouces. Therefore a bridge network is needed. Not because I want this but as Truenas designed.
Grtz, René
Just installed TrueNAS Scale here (been a Core-user since forever) and trying to bind manual IP-adresses to my apps. Is creating bridges the only way of setting a manual IP on apps at the moment?
We are both Scale users who have recently migrated to Core - in my case, all the way to Fangtooth.
I felt I needed a separate IP for Plex (in my case) but I think I have determined that it is not necessary.
My special (niche) problems were:
my Apple TV (same subnet) could log me in to to my Plex account but not see my local server
my Plex account could not see my server either (via app.plex.tv).
Connecting to the TrueNAS IP with the Plex port showed everything running and I could play media.
I have been cautioned not to chose “Host network” in the app container, but having nothing to lose, I checked it. And suddenly my Apple TV and plex account could see my server. Why? I do not know, but I think it has something to do with the Plex app binding to an internal IP address that is not on my subnet. In the process of trying things, I created a bridge network with 2 IP addresses: the IP of the TrueNAS box itself and another that I had planned to use for Plex. When I checked host network, the option to bind to a different IP disappeared.
One other thing: under Core, Plex ran in a Jail. Worked great and I didn’t need to futz with networking. But remote access was never possible. With Host networking, remote access appears to work just fine.
I’m not done tinkering. I think that everything can work better if I use a proper container rather than an app or perhaps use the technique Techno Tim shows in his YT video. The beauty of this whole architecture is that I can spin up another copy of Plex and experiment without destroying what already works (if I’m careful about datasets).
I don’t think I’ve answered your question because I don’t think I have and answer.
AIUI, auto-discovery UDP packets (DLNA, mDNS, etc.) cannot be sent to other subnets (at least without very fancy router configuration). So if your media container is connected via an internal docker network, it is not observable by the “outside world”. But it’s still reachable.
I just finished a migration from TrueNAS Core where I had Plex running in a jail, to Scale 25.04.2.6. When installing the Plex app, I just followed the directions and chose “host network” when setting up the app. Other than correcting permissions on my media files, everything went smoothly and Plex is working great. The IP address is the same as my server - except for the port number - and this seems to be just fine. All my devices, Roku’s and external PC’s, picked up the new installation OK.
On my CORE system, I assigned a unique IP address to the Plex jail - but on the Scale installation it doesn’t seem to matter.
System:
TrueNAS 25.04.2.6 | Supermicro X9SCM-F | Xeon E3-1240V2
32GB ECC RAM | PNY 120GB SSD for boot
3 WD Red 4TB + 1 HGST Deskstar NAS 4TB in RaidZ2
Toshiba 128GB M.2 SSD