Cloudron makes it easy to run web apps like WordPress, Nextcloud, GitLab on your server. Find out more or install now.


Options for Uploading or Accessing Media in Jellyfin?



  • I recently got Cloudron running on a Netcup VPS with NFS storage mounted (also provided by Netcup). This works great for moving individual app data for most apps off the main server, but for the Jellyfin app the Docker containerization of data seems to stop there being anyway to actually get the media into the app? A shared volume that could be 'seen' by different apps would be ideal, and this would also be great for something like sharing photos between Nextcloud and Lychee. Is this a feature that is going to be rolled out soon? I read elsewhere that something like this was planned for an earlier Cloudron release.

    I've been looking for possible work around using symlink or hardlinks, or mouting external storage in Nextcloud, but none of the options seem to really be viable. Rclone with a cloud provider seems to be a popular solution for Jellyfin, but I'm not sure how this would work? Any suggestions on a workaround that wouldn't break how Cloudron's backups and default behaviour works would be greatly appreciated. I have almost no experience with managing a server, so the less tinkering the better!



  • Anyone have any thoughts or ideas on this? Perhaps some kind of solution using syncthing?


  • Staff

    @lucidfox said in Options for Uploading or Accessing Media in Jellyfin?:

    A shared volume that could be 'seen' by different apps would be ideal, and this would also be great for something like sharing photos between Nextcloud and Lychee. Is this a feature that is going to be rolled out soon?

    We implemented Volumes in Cloudron but the feature is not enabled/hidden. What we found is that apps don't behave well with shared volumes. For example,

    • Lychee creates it's own database. You have to import photos in lychee, there is no other way. It cannot read and scan photos from a media folder.

    • Nextcloud doesn't find files added to the data directory automatically. You have to run the CLI occ command manually to make it re-scan. I guess one can add the volume as an external storage in nextcloud. I have also found the external storage feature in nextcloud can be flaky

    • From what I have seen, only Jellyfin/Emby are able to scan files properly from an external drive.

    Are the above limitations OK with you? I am just wondering what is the correct UI/UX approach for this to have minimal support requests...



  • @lucidfox I think that @mehdi has packaged up Jellyfin together with a load of other useful apps and tools to address this issue, in an app package called River, but I'm not sure what the latest is on getting that into the app store.

    See https://git.cloudron.io/mehdi/river/



  • @jdaviescoates you stole my line 😛

    @lucidfox yes, take a look at my "River" app, it's exactly what @jdaviescoates explained : Jellyfin packaged with other usefull apps to get content easily : Transmission, SickChill, CouchPotato, and a simple file manager



  • @mehdi @jdaviescoates Thanks for the heads up on that. It sounds like it ticks a lot of the boxes. Will give it a go, and update how I get on here.



  • @girish Thanks for the detailed response on the issues and limitations surrounding shared volumes. I'm basically just looking for anything that is an upgrade on SFTP and could be an easy way to store and access media across apps on Cloudron that support using shared volumes. And if possible to achieve this without disappearing down a trouble shooting rabbithole myself.

    I would be happy to try using a volume that is shared between Jellyfin and Syncthing, if that's something that would work? Syncthing seems to have a good reputation for transferring larger files reliably, and has peformed pretty well on a few test I've tried.

    I did read about the unreliability of Nextcloud external storage and issue with Lychee and creating it's own database (which I guess makes it a less desirable all purpose photo manager alternative to Google Photos).



  • This is a very cool feature! What's the current status? I don't see it in https://forum.cloudron.io/topic/2760/what-s-coming-in-6-0

    In the meantime, isn't there a way to do this manually?

    I'm struggling with my Cloudron setup for apps like Jellyfin, that need access to huge libraries to be useful. I wanted to use Jellyfin with either a SSHFS drive or just an external drive, and can't figure out a way to do that.



  • @mehdi @girish
    Looks to me like River is the way forward for Jellyfin. Just curious as to whether there is something stopping River from being added to the App Store.

    I think the topic of inter-app storage access between selected apps in general needs a radical rethink.



  • I managed to load a couple of movies into Jellyfin via SFTP, but they don't playback on any connected client devices or browsers because of a playback error. On investigating this it seems it's because FFMPEG (and the FFMPEG probe) aren't installed or can't be found by the app. I'm a bit confused because this is meant to be part of the default Jellyfin package? Do I need to install FFMPEG seperately?

    I haven't had a chance to install 'River' yet, because I'm on a Windows machine and a CLI install from Linux seems the easiest way to install the app. Still quite keen to give it a go once I get a virtualbox going. @mehdi does river come with FFMPEG preconfigured?



  • @lucidfox said in Options for Uploading or Accessing Media in Jellyfin?:

    @mehdi does river come with FFMPEG preconfigured?

    Yes, I think it does. However, from what I see, the Jellyfin package also does ( https://git.cloudron.io/cloudron/jellyfin-app/-/blob/master/Dockerfile#L24 ). It's weird that you have this error... Which format (container and codec) are your files?

    @lucidfox said in Options for Uploading or Accessing Media in Jellyfin?:

    because I'm on a Windows machine and a CLI install from Linux seems the easiest way to install the app.

    I think the cloudron CLI should work on windows, as long as you have Node and Docker installed



  • @mehdi I don't have Node or Docker installed (I don't have any dev experience and am quite new to server management), so I figured spinning up Ubuntu in Virtualbox would be the easiest way to start using CLI tooling.

    Yeah, the playback error is really odd. I even deleted and reinstalled Jellyfin, but that doesn't solve it. The FFMPEG path on the transcoding settings page in Jellyfin is empty, and I'm not able to locate it anywhere on the server when looking around with Filezilla. The default FFMPEG path is apparently - /usr/bin/ffmpeg.

    I tried files encoded in h.264 (with AAC audio) in an mp4 container, as I figured these would be the most universal formats that probably wouldn't require transcoding.

    Any help figuring this out is much appreciated.



  • @lucidfox

    • Can you try setting the ffmpeg path to /usr/share/jellyfin-ffmpeg ? I believe the jellyfin-specific build of ffmpeg that the Jellyfin package installs is located there by default

    • You can try forcing the disabling of transcoding with this parameter in your user's admin options:
      9a5b9d56-b147-471b-a6b1-914051e64be6-image.png



  • @mehdi Thanks! That worked a treat. Setting the right ffmpeg path fixed it and playback is working with and without the transcoding options disabled.

    @girish thought I'd flag this for you. As having the ffmpeg path set up right by default, might be useful to make it more seamless for other noobs looking to run Jellyfin on Cloudron. Also, would it be possible to share folders between Syncthing and Jellyfin? Maybe this would be easier to achieve than more complex shared volumes?



  • @lucidfox said in Options for Uploading or Accessing Media in Jellyfin?:

    @mehdi Thanks! That worked a treat. Setting the right ffmpeg path fixed it and playback is working with and without the transcoding options disabled.

    Glad it worked !

    As having the ffmpeg path set up right by default, might be useful to make it more seamless for other noobs looking to run Jellyfin on Cloudron.

    I opened an issue at https://git.cloudron.io/cloudron/jellyfin-app/-/issues/9

    Also, would it be possible to share folders between Syncthing and Jellyfin? Maybe this would be easier to achieve than more complex shared volumes?

    What you are asking for is shared volumes ^^. BTW I think it's actually available in the latest cloudron versions, just not exposed in the interface.



  • Never used Git, will keep that in mind for reporting any issues that I might come across with Cloudron apps!

    Now that I know that shared volumes is what I'm after 😜 (I thought it might be different somehow if it was a specific permission for an app to read data outside of it's docker container), how can I set up and use a shared volume if it's not exposed on the interface? Or is this something that's not trivial and best left alone till it's stably implemented?