Our great sponsors
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
-
k8s-gitops
Fiancé-approved geeked homelab k8s cluster deployed on 🍏 Mac Minis with Talos Linux; automated via Flux, Renovate and GitHub Actions 🤖 (by buroa)
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
I wrote a simple FastAPI python application to do this work for us: https://github.com/buroa/plex-s3/blob/main/app.py. It uses the Plex database to look up the file path of a media part id and then generates a presigned S3 URL and redirects the client back to the URL. If for some reason it can't, it will still stream the file from Plex (fallback). I then deployed as a sidecar to Plex deployment: https://github.com/buroa/k8s-gitops/blob/master/cluster/apps/media/plex/plex-helm-release.yaml#L70
I am using this https://github.com/yandex-cloud/k8s-csi-s3 deployed as a helm chart here: https://github.com/buroa/k8s-gitops/blob/master/cluster/core/kube-system/csi-s3/helm-release.yaml. It's very reliable and memory usage is always under 300MB.
I am using this https://github.com/yandex-cloud/k8s-csi-s3 deployed as a helm chart here: https://github.com/buroa/k8s-gitops/blob/master/cluster/core/kube-system/csi-s3/helm-release.yaml. It's very reliable and memory usage is always under 300MB.
I've been accomplishing something similar using Mergerfs. I'm thinking your solution is a bit more elegant, saving this post to try it out one day!