As always, please ensure you stop your Jellyfin server and take a full backup before upgrading!

  • Einar@lemm.ee
    link
    fedilink
    English
    arrow-up
    57
    ·
    edit-2
    7 months ago

    As always, please ensure you stop your Jellyfin server and take a full backup before upgrading!

    Now, if only there was a simple, built-in way to backup/export and restore/import all settings and other data, so that all platforms could do this easily, without having to search the internet for which folders to back up…

    FYI, this is the best we have atm (which is pretty terrible). Please correct me if there is a better way:

    How to backup a JF instance?

    Jellyfin Docs: Migrating

    • kakes@sh.itjust.works
      link
      fedilink
      English
      arrow-up
      23
      arrow-down
      2
      ·
      7 months ago

      I run JF in a docker container, and although I don’t have backups of my config files yet (because I don’t really care about setting up from scratch if need be), it would be trivial to simply backup the mounted config volumes. Makes upgrading safe and easy, too.

      That’s probably how I would recommend going about this, personally.

      • RBG@discuss.tchncs.de
        link
        fedilink
        English
        arrow-up
        2
        ·
        6 months ago

        Yes, it works that easy. I had to move hard drives, last time I did that without docker somehow it didn’t recognize the library, might have been a mistake from my end though.

        Now I did it again just a few weeks ago with a docker setup, all folders are on the hard drive. Could just mirror the drive, set it up at same mount point and there was no difference in the library, just worked.

      • SuitedUpDev@feddit.nl
        link
        fedilink
        English
        arrow-up
        10
        ·
        edit-2
        7 months ago

        datab

        Theoretically, support for that could be coming… Emby (where Jellyfin is based on) always used their own layer for interacting with a SQLite database. All that custom made logic is currently being swapped out for EF Core. EF Core is a DotNet library for interacting with databases and EFCore that also supports MySQL, PostgreSQL, SQL Server besides SQLite.

        So my guess is that, once all that work is completed, support of other database can be added.

        For a little bit of context. I am currently running Jellyfin on Btrfs and there is quite a performance impact due to CoW. If 2 clients decide to browse the libraries, both clients grind to a near standstill with regards to being able to see things. So I am following this work with quite some interest.

        • Laser@feddit.de
          link
          fedilink
          English
          arrow-up
          1
          ·
          7 months ago

          I am currently running Jellyfin on Btrfs and there is quite a performance impact due to CoW. If 2 clients decide to browse the libraries, both clients grind to a near standstill with regards to being able to see things.

          CoW is not recommended for databases, all DB servers advise for turning it off for the actual database. You’ll run into the same issue with a dedicated database if you leave CoW on I guess. You could also disable CoW for jellyfin’s database right now and performance should increase.

          I also follow the progress of a dedicated DB, but on the other hand I don’t know how much sense it makes architecturally. The likeliness that you have multiple jellyfin server instances access the same database is low - after all, there is info very specific to the server in there like the file path. Just migration is already not easy, how likely is sharing the database live? And if each database is specific to an instance - why not use SQLite (like it’s done right now) and allow for more specific parameter tuning, like used memory and the like?

      • stevestevesteve@lemmy.world
        link
        fedilink
        English
        arrow-up
        6
        ·
        7 months ago

        That’s my absolute #1 wish for jf. I’m sure it’s hard work and people are on it, it excites me to think about

    • SpeakinTelnet
      link
      fedilink
      English
      arrow-up
      10
      arrow-down
      1
      ·
      7 months ago

      I’m surprised at the lack of enhancement request/PR addressing this.I really want to dust off my C# and try but I’m kinda scared that the reason it isn’t yet a thing is because it’s a mess to implement.

      • deweydecibel@lemmy.world
        link
        fedilink
        English
        arrow-up
        9
        ·
        edit-2
        7 months ago

        Based on some comments in recent PRs for requested features that seem to have gone nowhere, the devs are trying not to overly complicate the project at the moment with other people’s code that they’d have to support, and instead leaving certain requests to be handled in some grand refactoring they’re working on.

    • ReversalHatchery@beehaw.org
      link
      fedilink
      English
      arrow-up
      7
      ·
      7 months ago

      If you run it on a container, it should be enough to just make a copy of the set up volumes, right? (with permissions and all the metadata kept of course)

    • deweydecibel@lemmy.world
      link
      fedilink
      English
      arrow-up
      7
      arrow-down
      2
      ·
      7 months ago

      I believe they’re suggesting just doing a full backup up of your system/Docker container. Which isn’t ideal, but I think they’re trusting people who can run a Jellyfin server to be able to use the scripts.

      • Einar@lemm.ee
        link
        fedilink
        English
        arrow-up
        1
        ·
        edit-2
        7 months ago

        Sure. But what if Docker is not available on a machine? What if the import should happen on a Linux machine coming from Windows? What if I want to sync two installations on different OSs?

        I know it’s all doable, but not easy, let alone foolproof. It’s so easy to install, but genuinely not easy to keep safe without tech knowledge.

        • exu@feditown.com
          link
          fedilink
          English
          arrow-up
          1
          ·
          7 months ago

          Syncing two instances sounds like a fun challenge. I think there’s some project to replicate an sqlite db over the network. Similarly, you could use ceph or other distributed storage for the media.

          I built something like this for Nextcloud a few years back, fun times.

    • kn33@lemmy.world
      link
      fedilink
      English
      arrow-up
      4
      ·
      7 months ago

      I have my media on a disk separate from the rest of the VM. I set that disk to not be included in snapshots, then snapshot the VM before upgrades.

    • st3ph3n@midwest.social
      link
      fedilink
      English
      arrow-up
      4
      arrow-down
      1
      ·
      7 months ago

      I run mine in an LXC container. I just snapshotted it in case of disaster and then ran apt update && apt upgrade.

  • ebits21@lemmy.ca
    link
    fedilink
    English
    arrow-up
    25
    ·
    edit-2
    7 months ago

    Thanks devs!

    I yolo’d it without a backup (docker). Working great. Like the improvements.

    😎

    • Molecular0079@lemmy.world
      link
      fedilink
      English
      arrow-up
      9
      ·
      edit-2
      7 months ago

      LOL, same. I did a docker-compose pull and restarted, came here to look at the release notes, and almost started panicking whether I omitted some important upgrade steps. Turns out everything upgraded smoothly automatically though.

    • Appoxo@lemmy.dbzer0.com
      link
      fedilink
      English
      arrow-up
      1
      ·
      7 months ago

      I got the surprise treatment.
      Saw the announcement on the telegram channel (I use the app exclusively for notifications by my services) and noticed that my watchtower container already upgraded it :p

  • kaitco@lemmy.world
    link
    fedilink
    English
    arrow-up
    13
    ·
    7 months ago

    This reminds me…I probably should do a full backup of my server sometime soon.

  • walden@sub.wetshaving.social
    link
    fedilink
    English
    arrow-up
    11
    ·
    edit-2
    7 months ago

    Cool. There’s a db fail bug elsewhere that I didn’t run into thankfully.

    I had to switch from ConfusedPolarBear(archived on GitHub now) to this fork for intro skipping. Works great.

    I’m still scanning for the new trickplay function but I’ve been hoping for something like that. It was disabled in the settings by default, plus you have to enable it on a per-library basis, and of course you can either wait for the schedule to start the scan, or start it yourself in scheduled tasks.

    • jlow (he/him)@beehaw.org
      link
      fedilink
      English
      arrow-up
      1
      ·
      7 months ago

      I thought intro-skipping had been included in Jellyfin now but this doesn’t seem to be the case (can’t find it in release notes) … Thanks for the tip for the 10.9 plugin 😸

      • 1hitsong@lemmy.mlOPM
        link
        fedilink
        English
        arrow-up
        7
        ·
        7 months ago

        If I remember correctly, there was an issue that was/is being worked on, but it wouldn’t get resolved until after the 10.9 feature cutoff date.

        We didn’t want to delay the 10.9 release to wait on it knowing 10.10 will be a fast follow.

        • Dempf@lemmy.zip
          link
          fedilink
          English
          arrow-up
          1
          ·
          7 months ago

          Hoping that it gets included soon as the folks developing the Android TV client have said they don’t want to support intro skipping until it’s part of Jellyfin core. Until then the only option is auto skipping and I don’t really want to do that.

      • walden@sub.wetshaving.social
        link
        fedilink
        English
        arrow-up
        3
        arrow-down
        2
        ·
        7 months ago

        I guess not. To be fair, if I wanted intro skipping to be baked in to whatever I’m using, I’d pay $5 or $6/month for Plex or Emby. I paid for Plex Pass for years, but I’m switching away because I think Plex is getting too “commercial” if that makes sense.

        Jellyfin is great so far, and if I have to spend 5 minutes installing an add-on to get intro skipping, that’s fine with me.

  • all4one@lemmy.zip
    link
    fedilink
    English
    arrow-up
    6
    arrow-down
    1
    ·
    edit-2
    7 months ago

    When I first set up my jf docker image I left the config and data directories in the docker container instead of pointing them outside. Now when I try to update I lose all my metadata. Is there a way to move those folders before I upgrade? Edit-typos

    • Passerby6497@lemmy.world
      link
      fedilink
      English
      arrow-up
      5
      ·
      edit-2
      7 months ago

      You’re just running in docker, so you’d want to make sure you map a local folder into your container (at a different location than they are already!), then get into the container and copy your files to the host’s mapped folder. Once that’s complete, update your docker to point your local folder to the proper config location and it should keep everything local after you upgrade.

      Edit: In my compose, I have this line

      /jellyfin/jellyfin-data:/config

      so you could map it to :/backup on your first boot, copy /config to /backup, then update your compose to map it to /config and you’re good to go!

        • Passerby6497@lemmy.world
          link
          fedilink
          English
          arrow-up
          2
          ·
          7 months ago

          Glad to hear it. I’ll be honest, I wasn’t aware of that command, I’ve just always done it the hard way and logged into the console of the container. I have this line in my .bashrc on all my docker hosts:

          alias docker-console='docker exec -it "${PWD##*/}" bash'

    • jlow (he/him)@beehaw.org
      link
      fedilink
      English
      arrow-up
      2
      ·
      7 months ago

      I feel like there is a way to copy stuff from docker-volumes to disk and then point docker to the folders on the disk as external volumes, I think I’ve done that at some point years back, but not sure how to do it exactly.

  • OfficerBribe@lemm.ee
    link
    fedilink
    English
    arrow-up
    3
    ·
    7 months ago

    Seems like this is a feature on newest Jellyfin Media Player (1.10.0) and not server itself, but you now have clickable tag and studio properties. Not sure if you could already search for let’s say “New Line Cinema”, but now you can intuitively filter by these values just by clicking. Great addition.

    • jlow (he/him)@beehaw.org
      link
      fedilink
      English
      arrow-up
      1
      ·
      7 months ago

      Not 100% sure but I think it’s a server feature, I feel like I’ve read about it in the release notes.

      • OfficerBribe@lemm.ee
        link
        fedilink
        English
        arrow-up
        1
        ·
        7 months ago

        This functionality appears only in Media Player and not web browser, that’s my reasoning why this does not seem like server side feature. That said Media Player I believe is using same web interface underneath so not exactly sure how it works and why this is not a feature in web browser.

  • rezz@lemmy.world
    link
    fedilink
    English
    arrow-up
    3
    ·
    7 months ago

    Run my client mainly on LGTV and iOS iPad.

    Do I need to update my LGTV and Jellyfin version? Or is this only server side?

  • sicarius@lemmy.world
    link
    fedilink
    English
    arrow-up
    2
    arrow-down
    1
    ·
    7 months ago

    A heads up for anyone else having an issue with the android app and the new version with the https server. There is a segment of the nginx config file you will need to remove that was a workaround for version 10.8 that is no longer needed and should be removed. Can’t remember which section right now.
    Will try to edit this tomorrow.

  • socra@lemmy.oneB
    link
    fedilink
    English
    arrow-up
    1
    ·
    7 months ago

    Any idea how the flatpak’s are generated? When they might be updated?