-
Notifications
You must be signed in to change notification settings - Fork 37
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Issue transcoding at the worker #155
Comments
Any chance you could describe a bit more how it is that you are running each component as well as the architecture used? For example, if you have a compose file for these services, if you are using the official linuxserver images and adding the dockermods to them, if the media content is shared and available at the same location on the worker nodes, etc. You mention having problems with the default swarm template. What issues were those? Regarding your question, it's normal for Plex to not be configured on the workers, that's expected. In fact Plex itself isn't used at all, just its transcoder, which is called directly. But there's no need for workers to have anything set up in regards to Libraries, the database or Application Support. A couple of things to consider, is to review the networking configuration between the workers and PMS, and see if you've followed the recommendations around sharing Temp and Transcode locations across all of them, making the Media content shared as well, setting the IP ranges allowed without auth, and setting PMS_IP to the appropriate value (you can use a service name as well if you prefer). |
BTW, codecs themselves don't necessarily need to be shared across workers. It's just convenient in order to avoid each worker downloading independent copies of them, but it should work fine without that too. |
I encountered this issue as well. I am running my cluster in Kubernetes with CEPH as a storage backend. I used the docker-swarm as a guide for creating 3 deployment specs under an application specification. What I encountered was that the permissions in the docker container on the workers was not allowing it to save the codecs it was trying to download if you do not have a volume mounted at the @teachjing you might want to check your container startup logs to see if you are also having the issue where it is getting permission denied errors when trying to download the codecs. If you are, I was able to fix the issue by mounting a shared volume between my workers at the codecs directory. However I would imagine any supported volume type such as a local volume would also work depending on your setup. |
@brandan-schmitz do you happen to have logs around that permission issue on /codecs ? Were you running the clusterplex docker image or the official linuxserver one with the clusterplex dockermod on top? |
Based on @brandan-schmitz's comment I was able to confirm it was definitely the codecs as well myself. This is what the log entries look like:
Following by the following repeated for each different codec:
It also looks like the process that downloads the codecs for the work is not using the PUID/PGID set in the env. I have both set to 1000, but it is using 1004. I had to chmod 777 the directory to get it to work. |
@AngellusMortis are you running the linuxserver image with the worker dockermod on top or the clusterplex worker docker image? Regarding the 1004 that's a bit odd. Basically what we do here is copy our .sh script and overwrite Plex's own executable. It's called directly by the linuxserver base image, not any call we make particularly. I'll read up a bit on the base image's mechanics around how they make the call to see if that could be causing issues. |
The dockermod since that is the recommended one. I never got transcoding working. Even after fixing the permissions issues, it just gives that same error in the worker. |
10.60.0.174 is your PMS correct? |
Probably. It is Kubernetes, so it changes every time I destroy the pod.
Yes. 10.0.0.0/8, 172.16.0.0/12, 192.168.2.0/24 are all added (192.168.x is my actual LAN/VLAN networks outside of k8s, so all internal container IPs and my "server" VLAN are whitelisted)
Yes. It is using HTTPS.
I have the transcoder path shared between all of the nodes and they can write to it (it is creating folders). The issue does not seem to be on Plex's side. There are no errors or real useful output in the Plex Console. The transcoder command just fails. Having the output for the transcoder command could probably be useful. |
This issue is stale because it has been open for 30 days with no activity. |
Describe the bug
A clear and concise description of what the bug is.
After some troubleshooting, I finally managed to get call to the worker but the worker has trouble running the transcoder. I logged into the worker and I was able to see it is there. This seems to be the last step if you got any ideas that would be great.
To Reproduce
Steps to reproduce the behavior:
Unsure how to reproduce as it may be specific to my docker swarm stack. These plex files for each worker are locally on their machines.
Expected behavior
A clear and concise description of what you expected to happen.
Screenshots
If applicable, add screenshots to help explain your problem.
Orchestrator screenshot
Worker specific error I located
Desktop (please complete the following information):
Docker nodes are running on proxmox cluster.
Additional context
I am feeling it has to the with the how the URLs was parsed because I also had issues mounting the transcoder with the recommened swarm template and had to revert to your worker template and that seem download all the codecs properly to the shared folder.
Again I am unsure where the problem lies, but the worker gets the call, but maybe there is trouble loading the file or providing the right url ?
I don't know if its relevant but the worker nodes don't seem to have the plex config fully installed ?
The text was updated successfully, but these errors were encountered: