Jerren 18 Posted June 1, 2025 Posted June 1, 2025 Hey, i recently upgraded my Truenas Core box to scale because i wanted to try out some other apps and Core basically isn't getting any love in the jails area. So on Electric Eel it's easy to install Emby and assign libraries, managed to figure that part out almost instantly. Here's what i can't figure out, how to assign an IP adress to Emby. Leaving it standard it has it's 172 ip addres that i can't acces or i tap the "use host network" box so i can acces it on my local network but not exactly comfortable setting the ip adres of my nas in my router for the port passthrough. Sure it's probably still somewhat fine but i also had a secondary emby instance that i like to use to try things out. I haven't tried installing it yet but considering that atm the only option i know of for networking assigns the nas ip addres to emby and then the port number (which will be the same for a second instance of Emby). I think it's safe to assume that i will only be able to acces one at a time. So like the topic name suggest, i want to know if it's possible to give a static IP to an Emby install. I've seen that it's possible on Truenas scale to make a virtual switch on the network interface which would allow something like it, the only problem there was that i couldn't set an IP for Emby itself. I've read and seen videos of people using docker with portainer and such but since i know nothing of such things yet, i figured i would come here and listen if what i want is possible in the first place.
Luke 42253 Posted June 2, 2025 Posted June 2, 2025 Quote Here's what i can't figure out, how to assign an IP adress to Emby. Hi, what do you mean by to Emby? Emby doesn't have an ip address but rather just uses the ip address of the server machine.
Q-Droid 1011 Posted June 2, 2025 Posted June 2, 2025 Any additional network interfaces (virtual or not) on that host will still lead back to the same machine. Then you'd have to go thru the trouble of assigning specific IPs to your services if trying to isolate them. You can bind to a specific host side IP:port in docker. I don't know if truenas supports this from their UI.
Jerren 18 Posted June 2, 2025 Author Posted June 2, 2025 (edited) @LukeYes, i know it uses the hosts ip adress. I even said it in the post. What i'm wondering about is how to assign an IP adress to Emby specifically. That way when i want to acces it from an external network i don't have my NAS's ip adress listed in my router's port forwarding. And also so that i can use a secondary Emby install on my host box. Because i'm assuming that when i try to install a secondary Emby it will use the same host IP and the same port. I guess it might be possible to can change the port for the secondary Emby to differentiate between the 2 Emby's? But like i said, i'm coming from Truenas Core and in Core it was a thing to have a seperate IP adress for the Nas, 1st Emby and 2nd Emby. The reason i ask how to do this for Emby specifically is because i've seen other apps that allow IP assigning to them. Quick edit: I just noticed that there was an update for Truenas Scale, namely Fangtooth which brings it to 25.04.1 and one of the major things is IP based options for apps which looks to be what i want. Emby does have an update for the app from 1.2.21 to 1.3.0 but that update fails each time i try it so far with this -> Error: network Field was not expected Error: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/middlewared/job.py", line 515, in run await self.future File "/usr/lib/python3/dist-packages/middlewared/job.py", line 562, in __run_body rv = await self.middleware.run_in_thread(self.method, *args) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/middlewared/main.py", line 622, in run_in_thread return await self.run_in_executor(io_thread_pool_executor, method, *args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/middlewared/main.py", line 619, in run_in_executor return await loop.run_in_executor(pool, functools.partial(method, *args, **kwargs)) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.11/concurrent/futures/thread.py", line 58, in run result = self.fn(*self.args, **self.kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/middlewared/api/base/decorator.py", line 101, in wrapped result = func(*args) ^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/middlewared/plugins/apps/upgrade.py", line 123, in upgrade new_values = self.middleware.call_sync( ^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/middlewared/main.py", line 1025, in call_sync return self.run_coroutine(methodobj(*prepared_call.args)) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/middlewared/main.py", line 1065, in run_coroutine return fut.result() ^^^^^^^^^^^^ File "/usr/lib/python3.11/concurrent/futures/_base.py", line 449, in result return self.__get_result() ^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.11/concurrent/futures/_base.py", line 401, in __get_result raise self._exception File "/usr/lib/python3/dist-packages/middlewared/plugins/apps/schema_normalization.py", line 36, in normalize_and_validate_values dict_obj = await self.middleware.call( ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/middlewared/main.py", line 1000, in call return await self._call( ^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/middlewared/main.py", line 715, in _call return await methodobj(*prepared_call.args) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/middlewared/plugins/apps/schema_validation.py", line 37, in validate_values verrors.check() File "/usr/lib/python3/dist-packages/middlewared/service_exception.py", line 72, in check raise self middlewared.service_exception.ValidationErrors: [EINVAL] values.network.web_port: Field was not expected Edited June 2, 2025 by Jerren Added some info
Jerren 18 Posted June 12, 2025 Author Posted June 12, 2025 Emby had an update and i was able to apply it. App Version: v4.9.1.0 -> this seems to be a Beta according to Emby itself? Not sure if that's right because in Truenas Scale on the app info it shows Train: stable. So it's a little confusing, might be because it's relatively new? And the Truenas scale has Version: v1.3.4 installed. I added alias IP addresses on the interface in Scale which seems to work as i can access both that web gui and then from there i assigned a new ip to Emby. The one i assigned to the http port i can access locally (didn't test remote yet), https though i can't access remotely. On the truenas scale Emby app workloads section i see Ports: tcp://192.168.0.216:9096:8096 tcp://192.168.0.145:8920:8920 The .216 address is the local on and was accessible, the .145 address isn't. the .145 address was on port 9096 at first but then i noticed the 8920 port after it. And reading the help section for it, the host ports are on the left and the container ports on the right. So i assumed i had to used the first port number in my port forwarding settings in the router and then truenas scale would route to the port on the right internally. But this didn't work. So i changed it to be 8920 so there would be no port confusion in case that was a thing but no luck either. I might have tried other stuff that's slipping me right now but it's almost 4 AM and i need to sleep, hope i managed to give you all the info you need to help me with this one.
Luke 42253 Posted June 12, 2025 Posted June 12, 2025 1 hour ago, Jerren said: Emby had an update and i was able to apply it. App Version: v4.9.1.0 -> this seems to be a Beta according to Emby itself? Not sure if that's right because in Truenas Scale on the app info it shows Train: stable. So it's a little confusing, might be because it's relatively new? And the Truenas scale has Version: v1.3.4 installed. I added alias IP addresses on the interface in Scale which seems to work as i can access both that web gui and then from there i assigned a new ip to Emby. The one i assigned to the http port i can access locally (didn't test remote yet), https though i can't access remotely. On the truenas scale Emby app workloads section i see Ports: tcp://192.168.0.216:9096:8096 tcp://192.168.0.145:8920:8920 The .216 address is the local on and was accessible, the .145 address isn't. the .145 address was on port 9096 at first but then i noticed the 8920 port after it. And reading the help section for it, the host ports are on the left and the container ports on the right. So i assumed i had to used the first port number in my port forwarding settings in the router and then truenas scale would route to the port on the right internally. But this didn't work. So i changed it to be 8920 so there would be no port confusion in case that was a thing but no luck either. I might have tried other stuff that's slipping me right now but it's almost 4 AM and i need to sleep, hope i managed to give you all the info you need to help me with this one. It is technically a beta but was mistakenly published as stable by truenas. Please see here for more details:
Luke 42253 Posted June 12, 2025 Posted June 12, 2025 Regarding your issue, have you setup https on your server?
neves000 15 Posted June 12, 2025 Posted June 12, 2025 Hi Jerren, Your question is not an Emby question but should be asked on the TrueNAS forum, because TrueNAS manages the network for your Emby application here. Emby has no ability to manage IP addressing. I didn't understand the purpose of having separate IPs for the NAS, Emby1 and Emby2: I have the impression that using different ports is enough, but I could be wrong. What is your use case? In any case, this does not affect the security of your NAS if Emby uses the same IP.
Jerren 18 Posted June 13, 2025 Author Posted June 13, 2025 Ah ok hadn't checked other topics on the beta version so thanks for that link @Luke! There was another update for the app today which i hoped would bring it back to stable but unfortunately not so maybe that'll happen in the future. As for did i setup https on the truenas box? Yes('ish). I did the same as i did on Freenas and Core. I turned the option on and used the selfsigned cert since that worked on those. Hey @neves000, the reason i'm posting here instead of on the Truenas forum is because i've done these settings on Freenas, then Truenas Core and now on Truenas Scale and have the idea i did things correctly. Add to that that i saw the Beta mark in Emby. So i wanted to be sure it wasn't related to that since that's always a possibility and Truenas would not be able to say anything about Emby's process of updates, beta's, etc. As for wanting seperate IP's for my Nas, Emby1 and Emby2, the reason is quite simple. Sure different ports is probably fine to have it work. But for security it's better to spread things out. Is it absolutely necessary in my use case? No, i'm clearly not a high value target. But i do believe in adhering to good practices such as making different accounts for security acces etc which is also something most will say isn't necessary for a home user but i like to be safe rather then sorry. Which isn't to say i'll never run into something weird obviously but minimizing those odds helps imo. So why not be safe when it comes to seperating docker containers best i can? That said, these 2 IP's point to the same Emby instance as i have not yet tried to installed a second Emby for testing things out. The reason for 2 IP's to the same Emby instance is because i couldn't set the same IP for Http as for Https. Which is odd to me, in the past i was able to do so but again this was on Freenas and Core. Those are Freebsd and Scale is Linux based. So i don't know if this is a Truenas Scale problem or an Emby problem since the option to assign IP's to an app is fairly new as Fangtooth only released recently. Which is another reason to post here as the people who work on Emby would get to see potential hick ups quicker.
neves000 15 Posted June 14, 2025 Posted June 14, 2025 Hello @Jerren, From a security standpoint, I believe it's safer to stick with the basic setup where only the necessary ports are exposed (Emby is on a private internal TrueNAS network), rather than assigning a separate IP to the container, which would make all ports accessible on the local network. With the default setup, you can expose only Emby’s port 8096 on the NAS IP and forward that port to the Internet if needed - without impacting the rest of your NAS services. Assigning a dedicated IP to Emby doesn’t offer real advantages: while you could still limit exposure to a single port externally, all ports on that IP remain reachable inside your network, unless you add extra firewall rules. In my view, it’s best not to complicate things - just stick with the default configuration. There’s really nothing to gain by assigning a separate IP to the Emby container.
Jerren 18 Posted June 19, 2025 Author Posted June 19, 2025 Sorry was preoccupied for a bit with other things. As for helped. It helped solve the "why is it a beta now? question" but for the networking stuff i'm still looking around and will probably make a post on the truenas forum about that. Topic can be closed i guess?
Luke 42253 Posted June 25, 2025 Posted June 25, 2025 @Jerrenwere you able to solve the networking issue?
Jerren 18 Posted July 1, 2025 Author Posted July 1, 2025 Haven't had time to ask over on the truenas forum or try a bit by myself yet. Hope to get time for that in the coming weeks @Luke 1
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now