Skip to content
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

Support S3 #850

Closed
jaredallard opened this issue Feb 9, 2019 · 9 comments
Closed

Support S3 #850

jaredallard opened this issue Feb 9, 2019 · 9 comments
Labels
feature Adding a new feature, or substantial improvements on existing functionality

Comments

@jaredallard
Copy link

Describe the feature you'd like

Ability to load media (play, search, etc) files from S3 (or S3 compatible API, see minio for an example)

Additional context

I run a media server and one of the most expensive parts of cloud hosting it is storage, it'd be awesome if we could pull from S3 so then I save money and have it be distributed!

@jaredallard jaredallard added the feature Adding a new feature, or substantial improvements on existing functionality label Feb 9, 2019
@EraYaN
Copy link
Member

EraYaN commented Feb 9, 2019

I feel this should be handled on the OS/File System level. We just ripped out SMB support, so I think it's unlikely other file system providers would be a good fit.

As for "fixes":
There is a FUSE driver for S3, Amazon does not recommend using it as a block device though, but it is possible, especially in readonly format to stop the amount of file transactions costing you a ton) https://github.com/s3fs-fuse/s3fs-fuse/wiki/Fuse-Over-Amazon (Works on Linux and macOS)

For Azure you can just mount Azure Files as SMB shares AND there is a FUSE implementation for Blob storage as well: https://github.com/Azure/azure-storage-fuse Official even, with a local cache.

@jaredallard
Copy link
Author

jaredallard commented Feb 10, 2019

@EraYaN Yeah, I can see this being a wontdo easily, but my problem w/ FUSE drivers is that they tend to be somewhat difficult to setup (in my case I'm using Kubernetes to run Jellyfin, and setting up stuff like that is a hack to begin w/ and to maintain). So, if it's not terribly difficult to have done that would be awesome.

@mazzystr
Copy link

My dream is to get away from a POSIX filesystem for media also. A few years ago I tried to put media files into a S3 bucket then used MountainDuck to present S3 bucket as a POSIX filesystem to feed Plex. It didn't work well but the idea is still in the back of my mind.

AWS is going to charge for network usage for S3 transfers. That simply won't scale.

I think Linux and Ceph is the future for local storage. The ceph fuse client is awesome, performant, and really shows some potential especially when we have all our apps containerized.

@jaredallard
Copy link
Author

jaredallard commented Feb 27, 2019

For now I am using gcsfuse, and have yet to have any issues (aside from running a privileged container as a sidecar 😢). I think I will contribute back a doc that details how to run through this process with various drivers instead.

@MatthiasGrandl
Copy link

+1. S3 support would be a dream. Object storage is perfect for media playback. Would love to use Ceph S3 as a storage backend for Jellyfin.

@jaredallard
Copy link
Author

@EraYaN is there any chance that we could reconsider this? As my use of GCS has scaled, gcsfuse, and other alternatives aren't functioning very well.

@EraYaN
Copy link
Member

EraYaN commented Jul 24, 2019

I don't think so, mostly since this will be maintenance hell. There are just too many storage options, this also requires even more (or better) support for virtual filesystems.

@jellyfin-bot
Copy link
Contributor

We are moving all feature and enhancement requests to our new Fider platform here. This new platform lets people vote on and better manage such requests.
This request now lives here.

@HeroCC
Copy link

HeroCC commented Jun 11, 2021

Just to add on to this, the feature suggestion said ffmpeg needs an actual file. The AWS API / CLI supports presigned urls. I'm not familiar with how the internals of Jellyfin work, but if plugins can add their own media to the server, one could search through the S3 bucket, and generate & pass along those presigned URLs as needed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature Adding a new feature, or substantial improvements on existing functionality
Projects
None yet
Development

No branches or pull requests

6 participants