Jellyfin Forum
SOLVED: Migrate Jellyfin from truecharts container to truenas' - Printable Version

+- Jellyfin Forum (https://forum.jellyfin.org)
+-- Forum: Support (https://forum.jellyfin.org/f-support)
+--- Forum: Troubleshooting (https://forum.jellyfin.org/f-troubleshooting)
+--- Thread: SOLVED: Migrate Jellyfin from truecharts container to truenas' (/t-solved-migrate-jellyfin-from-truecharts-container-to-truenas)



Migrate Jellyfin from truecharts container to truenas' - lirayah - 2024-06-10

So basically, since the last major update from IX for Truenas Scale (Dragonfish), Truecharts is getting discontinued because of how the apps will be handled and those won't receive any further updates.
So I need help to migrate all the stuff (like users database and watch status but also JF config files).
Could you guys help me ?


RE: Migrate Jellyfin from truecharts container to truenas' - TheDreadPirate - 2024-06-11

As long as Truecharts is essentially a re-skin of docker, there should be a folder on the host for "/config" that will have all your data. You can migrate that to a proper docker setup.


RE: Migrate Jellyfin from truecharts container to truenas' - Efficient_Good_5784 - 2024-06-11

There's a good chance OP has not set the config folders to be external from the Truecharts container. Truecharts really pushes users to rely on the internal PVC storage mechanism to hold configuration data.

@lirayah, if you haven't host mounted the Jellyfin config folder to be external, you'll have to go ask for help on Truechart's Discord channel or wait for someone knowledgeable with Kubernetes to help you pull the config folder out through the Truenas system shell.


RE: Migrate Jellyfin from truecharts container to truenas' - lirayah - 2024-06-11

Yes, all my configs are in a PVC type of storage.
I guess I can try to search for them (I found them once but it was before the update and now I can't seem to do anymore) but I don't know which files to seek, I know there's some DB files but I don't know if there are other that might be important.


RE: Migrate Jellyfin from truecharts container to truenas' - lirayah - 2024-06-11

So, I've managed to mount jellyfin's PVCs thanks to a script (heavyscript) but what are the config files I need to get to have the same config (users, views progression, JF configs...).
Could you help me out?


RE: Migrate Jellyfin from truecharts container to truenas' - Efficient_Good_5784 - 2024-06-11

All the files in the major "config" folder. Just copy the entire folder and save it for later.


RE: Migrate Jellyfin from truecharts container to truenas' - lirayah - 2024-06-11

Great news!
My jellyfin is fully migrated (I had to restart the container a few times for it to fully work but now it's good).
I have access to everything as before.
To summarize for the people that might wanna do the same thing:
- Create datasets for your jellyfin config (config, cache and transcode) and give them the appropriate ACL (RW at least and you can add X for directory traverse)
- Create the container like you would normally do (name, network port etc.)
- STORAGE CONFIGURATION:
1. For the config, cache and transcode, use the datasets you've created earlier using the Host Path (THE CONFIG ONE IS REALLY IMPORTANT IT IS WHERE YOU WILL PUT YOU'RE OLD DATA)
2. For your media folder, whether it's an SMB share on your truenas machine or no (I don't know for an SMB share on another machine), you can use Host Path in the storage configuration. Make sure to mount the folder the same way you had with Truecharts.
- Start the container to make sure everything works as it would do for a vanilla install.
- Stop both of your container (the truecharts and the "official" one)
- use Heavyscript (https://github.com/Heavybullets8/heavy_script) to mount the old container's PVC so you can access the data of your old jellyfin. The script will usually mount the pvc under /mnt/mounted-pvc.
- If you want to make sure it did it correctly you can cd into it.
- rsync the file from the old config folder to the new one: rsync -avz /mount/path/from/heavyscript/ /dataset/you/created/in/the/first/step/
- You can now unmount the old PVC (use heavyscript for it, you've got an UI and all it's easier)
- Restart the new jellyfin container ("official" one), if it doesn't work check the kubernetes or the container log and if you see something like "database image disk is malformed" rsync the file again (unmount and remount the old container PVC)
- You should arrive on the login page that you had in your old jellyfin setup, you can now login with your account and everything should work (Watch status, users...).
- If it doesn't work try to update the library and/or restart the container and/or rsync the file again


RE: Migrate Jellyfin from truecharts container to truenas' - eminemfan - 2024-07-20

(2024-06-11, 10:05 PM)lirayah Wrote: Great news!
My jellyfin is fully migrated (I had to restart the container a few times for it to fully work but now it's good).
I have access to everything as before.
To summarize for the people that might wanna do the same thing:
- Create datasets for your jellyfin config (config, cache and transcode) and give them the appropriate ACL (RW at least and you can add X for directory traverse)
- Create the container like you would normally do (name, network port etc.)
- STORAGE CONFIGURATION:
1. For the config, cache and transcode, use the datasets you've created earlier using the Host Path (THE CONFIG ONE IS REALLY IMPORTANT IT IS WHERE YOU WILL PUT YOU'RE OLD DATA)
2. For your media folder, whether it's an SMB share on your truenas machine or no (I don't know for an SMB share on another machine), you can use Host Path in the storage configuration. Make sure to mount the folder the same way you had with Truecharts.
- Start the container to make sure everything works as it would do for a vanilla install.
- Stop both of your container (the truecharts and the "official" one)
- use Heavyscript (https://github.com/Heavybullets8/heavy_script) to mount the old container's PVC so you can access the data of your old jellyfin. The script will usually mount the pvc under /mnt/mounted-pvc.
- If you want to make sure it did it correctly you can cd into it.
- rsync the file from the old config folder to the new one: rsync -avz /mount/path/from/heavyscript/ /dataset/you/created/in/the/first/step/
- You can now unmount the old PVC (use heavyscript for it, you've got an UI and all it's easier)
- Restart the new jellyfin container ("official" one), if it doesn't work check the kubernetes or the container log and if you see something like "database image disk is malformed" rsync the file again (unmount and remount the old container PVC)
- You should arrive on the login page that you had in your old jellyfin setup, you can now login with your account and everything should work (Watch status, users...).
- If it doesn't work try to update the library and/or restart the container and/or rsync the file again

Hey, can I ask what ACL's did you set for the new config host path? I've tried with setting the user and group to apps but no luck. Based on the errors in the log and the fact that almost every poster from metadata is not loading I'm pretty sure the migrated files are unreadable to the new jellyfin


RE: Migrate Jellyfin from truecharts container to truenas' - lirayah - 2024-07-20

(2024-07-20, 10:22 AM)eminemfan Wrote: Hey, can I what ACL's did you set for the new config host path? I've tried with setting the user and group to apps but no luck. Based on the errors in the log and the fact that almost every every poster from metadata is not loading I'm pretty sure the migrated files are unreadable to the new jellyfin

So I have my main dataset which has read exec for everyone then I have the jellyfin dataset with those permissions:    
Then, the config dataset with those ones:    
Cache:    
Also, in the app setup, I didn't check the box to enable ACL for the storage, might be the something to look into.


RE: Migrate Jellyfin from truecharts container to truenas' - eminemfan - 2024-07-20

Turns out I had shot myself in the foot. I made a new directory inside the dataset I normally use for applications data and I used that for jellyfin. I used mkdir and chwon and chmod to give it the same owner and permission as the dataset, but I must have done something wrong. Thank you for the help.