Plex - [EFAULT] Failed 'up' action for 'plex' app

Hi all,

Another newbie here with problems that will hopefully be simple for you all.

I am running a fresh installation of TrueNAS SCALE ElectricEel 24.10 on a TerraMaster F4-423 with 32GB of RAM.

I’m trying to install Plex. I’m very familiar with Plex as I’ve been using it for years on a Windows server. Unfortunately I’ve probably spent about 10 hours trying to simply install it on TrueNAS and I’ve followed about 5 online tutorials and a similar number of YouTube videos.

The latest instructions I’ve followed (precisely) are from this site under:
/docs/truenasapps/stableapps/plexapp/

But alas I keep getting the same error when I hit the ‘Install’ button:

FAILED

[EFAULT] Failed ‘up’ action for ‘plex’ app, please check /var/log/app_lifecycle.log for more details

Error: Traceback (most recent call last):

  • File “/usr/lib/python3/dist-packages/middlewared/job.py”, line 509, in run*
  • await self.future*
  • File “/usr/lib/python3/dist-packages/middlewared/job.py”, line 556, in __run_body*
  • rv = await self.middleware.run_in_thread(self.method, args)
  •     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*
    
  • File “/usr/lib/python3/dist-packages/middlewared/main.py”, line 1367, 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 1364, 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/service/crud_service.py”, line 268, in nf*
  • rv = func(*args, *kwargs)
  •     ^^^^^^^^^^^^^^^^^^^^^*
    
  • File “/usr/lib/python3/dist-packages/middlewared/schema/processor.py”, line 55, in nf*
  • res = f(*args, *kwargs)
  •      ^^^^^^^^^^^^^^^^^^*
    
  • File “/usr/lib/python3/dist-packages/middlewared/schema/processor.py”, line 183, in nf*
  • return func(*args, *kwargs)
  •       ^^^^^^^^^^^^^^^^^^^^^*
    
  • File “/usr/lib/python3/dist-packages/middlewared/plugins/apps/crud.py”, line 203, in do_create*
  • return self.create_internal(job, app_name, version, data[‘values’], complete_app_details)*
  •       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*
    
  • File “/usr/lib/python3/dist-packages/middlewared/plugins/apps/crud.py”, line 248, in create_internal*
  • raise e from None*
  • File “/usr/lib/python3/dist-packages/middlewared/plugins/apps/crud.py”, line 241, in create_internal*
  • compose_action(app_name, version, ‘up’, force_recreate=True, remove_orphans=True)*
  • File “/usr/lib/python3/dist-packages/middlewared/plugins/apps/compose_utils.py”, line 57, in compose_action*
  • raise CallError(*
    middlewared.service_exception.CallError: [EFAULT] Failed ‘up’ action for ‘plex’ app, please check /var/log/app_lifecycle.log for more details

I would really like to make this TrueNAS thing a success as it makes the TOS 6 that came with my TerraMaster look like a toy but if I can’t make something as simple as Plex work then that’s not a good start!

Any help or guidance is greatly appreciated.

What happens if you install plex with no changes to the default config. Specifically, no GPU, no Host Path volumes.

Does plex come up then?

Run sudo cat /var/log_applifecycle.log

Hi NugentS,

Thanks for your response.

If I try to install Plex without modifying any of the default options, I get the same “Failed ‘up’ action” error.

Regards,
Keir

Hi DjP-iX,

Thanks for your response.

Here’s the content of that log:

[2025/01/20 22:31:46] (ERROR) app_lifecycle.compose_action():56 - Failed ‘up’ action for ‘plex’ app: plex Pulling
permissions Pulling
plex Error Head “-----://registry-1.docker.io/v2/plexinc/pms-docker/manifests/1.41.3.9314-a0bfb8370”: dial tcp [2600:1f18:2148:bc02:445d:9ace:d20b:c303]:443: connect: no route to host
permissions Error context canceled
Error response from daemon: Head “-----://registry-1.docker.io/v2/plexinc/pms-docker/manifests/1.41.3.9314-a0bfb8370”: dial tcp [2600:1f18:2148:bc02:445d:9ace:d20b:c303]:443: connect: no route to host

Regards,
Keir

FYI: I had to overtype the “https” strings with “-----” in my previous reply because this forum doesn’t allow links.

This points to a networking issue.
Could you post a screenshot of your network tab in full please?

Hi essinghigh,

Thanks for your response.

Here are some images of my network configuration:


I have a PiHole on my network as my primary DNS server. I’m wondering if that may be blocking something that Plex needs. I can successfully run Plex on my network from a Windows server so it would surprise me if that was the case.

Other than that, you’ll see that I can two NICs teamed as “bond1”. Seems to work well and offers good bandwidth. Maybe Plex doesn’t like this?

Cheers,
Keir

Is your network actually configured for IPv6?

It’s trying to connect to [2600:1f18:2148:bc02:445d:9ace:d20b:c303]:443

If you aren’t using it, I’d try removing your IPv6 default gateway and any related IPv6 config in that bond interface.

I managed to get rid of the IPv6 address assigned to “bond1” by changing the IP configuration from DHCP to static, which is fine because I’ve configured my router to provide a static IP to the TrueNAS server.

However, I can’t work out how to get rid of the IPv6 address under the Network > Global Configuration > Default Route section. I can go into the settings for this, delete the address and save the dialogue box but the address comes right back.

Is there somewhere else where I can remove the IPv6 address as a default route option?

Thanks,
Keir

I switched off IPv6 auto assignment on my router, rebooted the TrueNAS server and the references to IPv6 are now gone from the network configuration screens.

However, Plex still won’t install and the latest app_lifecycle.log still shows it looking to an IPv6 address:

[2025/01/21 22:58:48] (ERROR) app_lifecycle.compose_action():56 - Failed ‘up’ action for ‘plex’ app: permissions Pulling
plex Pulling
plex Error Head “https://registry-1.docker.io/v2/plexinc/pms-docker/manifests/1.41.3.9314-a0bfb8370”: dial tcp [2600:1f18:2148:bc02:445d:9ace:d20b:c303]:443: connect: network is unreachable
permissions Error context canceled
Error response from daemon: Head “https://registry-1.docker.io/v2/plexinc/pms-docker/manifests/1.41.3.9314-a0bfb8370”: dial tcp [2600:1f18:2148:bc02:445d:9ace:d20b:c303]:443: connect: network is unreachable

Are you running any other containers? If not can you try the filebrowser app with all defaults?
Can you ping registry-1.docker.io

Try changing (on a temp basis) the Nameserver to 1.1.1.1

Also please post your hardware

I got it working by entering the two top level DNS servers that my router uses rather than allowing TrueNAS to accept the DNS server provided my DHCP (which routes through my Pi-hole).

Plex is installed and the libraries are working perfectly. I know it’s basic stuff but it feels like a momentous moment after all the time I’ve spent!

Ir’s also awesome to see my TrueNAS dashboard come alive with activity. If I can get to grips with this OS it’s going to be brilliant.

Thanks so much for all of your responses (Henry and Sean) and for setting me on the right track to troubleshoot this. I would not have worked it out without your help.

Many Thanks,
Keir

I am in a very similar situation but I am lost on this part.

Just installed TrueNAS on a Terramaster F2-423 and want to install Plex but get the same error you did. I used Plex just fine in Terramaster TOS6. I switched to TrueNAS partly because of this community.

Where did you enter the two top level DNS servers that your router uses?

Holy cow! I think it was much more simple than I thought. None of the installation instructions I had seen mentioned how to set up datasets for Plex before installing. I finally found a video that seems to have worked.

Create a dataset called “plex” then four datasets within that one (data, config, logs, transcode). Create all as app datasets. Then, when installing Plex, select each dataset manually.

Under the Storage Configuration section, change each path from ixVolume to Host Path, then select one of the datasets you created. For Plex Data Storage, select the dataset called “data”, for Host Path Configuration select the “config” dataset, for Plex Logs Storage select “logs” and for Plex Transcode Storage select “transcode”.

Now it seems to be working for me.