pabloromeo / clusterplex

ClusterPlex is an extended version of Plex, which supports distributed Workers across a cluster to handle transcoding requests.
MIT License
452 stars 35 forks source link

How to fix storage issue. #335

Open Nullvoid3771 opened 1 month ago

Nullvoid3771 commented 1 month ago

Is your feature request related to a problem? Please describe. A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

https://github.com/pabloromeo/clusterplex/issues/332

Proxmox PMS&Workers:

*Change paths according to your setup

volumes:
 - type: bind
         source: $HOST/mnt/pve/cephfs/codecs     #Include in Workers only. 
         target: /codecs
 - type: bind                      
         source: $HOST/mnt/pve/cephfs/plexconf  #Include in PMS
         target: /config
 - type: bind                            #Include in Workers & PMS
         source: $HOST/mnt/pve/cephfs/plexconf/Library/Application Support/Plex Media Server/Cache/
         target: /transcode 
 - type: bind       #include in worker 
         source: $HOST/mnt/pve/cephfs/data/worker/
         target: /data
 - type: bind       #include in pms 
         source: $HOST/mnt/pve/cephfs/data/pms/
         target: /data

set permissions of actual folders to 0777, use Cephfs! DO NOT use SMB for these folders for configuration of samba it needs to keep permissions of the host system and client the same. I could not get SMB permissions to work right with docker; Media folder CAN use SMB.

Quick how to use in Proxmox, Docker & Portainer BE Swarm.:

-Setup your Docker and portainer swarm on proxmox baremetal. you can do this in a vm but more complex for cepfs [Lots of tutorials online] -In portainer a custom stacks template, paste contents of "with-dockermods.yaml" into Web editor for stacks. Save Stacks Template & deploy stacks. -In portainer stacks if your stacks is running if you need to edit the contents of "with-dockermods.yaml" stop the stack and choose the edit tab. -In portainer under containers PMS, plex-orchestrator, and PMSworkers should be starting, check task status for any errors starting that might prevent start. -Create a Ceph Storage on proxmox requires minimum 2 dedicated disks. [Again lots of tutorials online] -You do not need a cephs storage pool instead create CefphFS (filesystem) requires metadata server to create cephfs cephfs_data. -Mount your cephfs to your nodes under Storage Add. Cephfs. -They should mount to folders on each node under mnt/[nodename or pve]/cephfs/ use this path to save your codecs, config, transcode folders in. If you add the config folder here your PMS might jump around on the different swarm nodes, use a local volume instead if you want it to stay on the node with the local volume. -Add /transcode to your PMS transcode temporary directory in PMS settings.

That should be enough to get you going.

Hw transcoding:

Tip: Docker Swarm does not allow amd/intel only nvidia. Don't create workers in Swarm mode if you want hw transcoding. or use this work around.

https://github.com/pabloromeo/clusterplex/issues/336