-
Notifications
You must be signed in to change notification settings - Fork 16
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
backing up all metadata for the plugin #47
Comments
I am starting the process of migrating off of TrueNAS to just FreeBSD but here is how I handled various apps with TrueNAS and Here is how I have my configurations snapshotted for
double checking that everything is as it should be
The other *arrs are the same way each given a dataset under the "Apps" dataset and mounted as
same for plex:
Now, on to jellyfin! This should all be doable in the GUI but I am going off the memory of a rarely used GUI and this uses my configuration example from above and how I would do the following: (I think this would be under "Storage" in the GUI)
(Jails?) (Storage? Snapshots?) (No idea, but should be supported. System?) |
Thanks; I believe that is what I need and you gave me another option to
achieve the process with the sysrc reference.
…On Thu, Apr 20, 2023 at 12:52 PM Thefrank ***@***.***> wrote:
I am starting the process of migrating off of TrueNAS to just FreeBSD but
here is how I handled various apps with TrueNAS and iocage. You can skip
to the end if you just want the jellyfin example :)
Here is how I have my configurations snapshotted for radarr:
iocage fstab -l radarr
+-------+---------------------------------------------------------------------------------------------------------------------------+
| INDEX | FSTAB ENTRY |
+=======+===========================================================================================================================+
| 0 | /mnt/ThingsGoHere/Apps/radarr/ /mnt/ThingsGoHere/iocage/jails/radarr/root/config nullfs rw 0 0 |
+-------+---------------------------------------------------------------------------------------------------------------------------+
| 1 | /mnt/ThingsGoHere/Downloads /mnt/ThingsGoHere/iocage/jails/radarr/root/mnt/Downloads nullfs rw 0 0 |
+-------+---------------------------------------------------------------------------------------------------------------------------+
| 2 | /mnt/ThingsGoHere/Videos/Movies /mnt/ThingsGoHere/iocage/jails/radarr/root/mnt/Videos/Movies nullfs rw 0 0 |
+-------+---------------------------------------------------------------------------------------------------------------------------+
double checking that everything is as it should be
zfs list -t filesystem | grep Apps/radarr
ThingsGoHere/Apps/radarr /mnt/ThingsGoHere/Apps/radarr
---
zfs list -t snapshot | grep radarr
***@***.*** 4.91M - 207M -
***@***.*** 3.33M - 207M -
***@***.*** 3.29M - 207M -
***@***.*** 3.38M - 207M -
***@***.*** 3.31M - 207M -
***@***.*** 3.30M - 207M -
***@***.*** 3.30M - 207M -
***@***.*** 1.76M - 207M -
The other *arrs are the same way each given a dataset under the "Apps"
dataset and mounted as /config as I was lazy when setting this up
originally. Applications that only need to READ data and not WRITE are
given ro mount points. An example of how I had Plex setup:
+-------+-------------------------------------------------------------------------------------------------------------------+
| INDEX | FSTAB ENTRY |
+=======+===================================================================================================================+
| 0 | /mnt/ThingsGoHere/Apps/plex /mnt/ThingsGoHere/iocage/jails/plex/root/config nullfs rw 0 0 |
+-------+-------------------------------------------------------------------------------------------------------------------+
| 1 | /mnt/ThingsGoHere/Videos /mnt/ThingsGoHere/iocage/jails/plex/root/mnt/Videos nullfs ro 0 0 |
+-------+-------------------------------------------------------------------------------------------------------------------+
| 2 | /mnt/ThingsGoHere/Music /mnt/ThingsGoHere/iocage/jails/plex/root/mnt/Music nullfs ro 0 0 |
+-------+-------------------------------------------------------------------------------------------------------------------+
same for plex:
zfs list -t filesystem | grep Apps/plex
ThingsGoHere/Apps/plex /mnt/ThingsGoHere/Apps/plex
(I don't keep snapshots of Plex data as they are 100GB+ of metadata)
Now, on to jellyfin! This should all be doable in the GUI but I am going
off the memory of a rarely used GUI and this uses my configuration example
from above and how I would do the following:
(I think this would be under "Storage" in the GUI)
- dataset: ThingsGoHere/Apps/jellyfin (this is technically a child
dataset of "Apps")
- child dataset: ThingsGoHere/Apps/jellyfin/db
- child dataset ThingsGoHere/Apps/jellyfin/cache (optional)
(Jails?)
mount the dataset ThingsGoHere/Apps/jellyfin/db as /var/db/jellyfin (or
however you have it configured in sysrc)
mount the dataset ThingsGoHere/Apps/jellyfin/cache as /var/cache/jellyfin
(or however you have it configure in sysrc)
(Storage? Snapshots?)
Set the snapshot for ThingsGoHere/Apps/jellyfin. Make sure "recursive" is
TRUE
(No idea, but should be supported. System?)
cron job for daily/weekly snapshot
—
Reply to this email directly, view it on GitHub
<#47 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AXK6IIWDNNMWWJC2SM7QQ3LXCFSWBANCNFSM6AAAAAAXFVUG7U>
.
You are receiving this because you authored the thread.Message ID:
***@***.***>
|
My goal is to be able to snapshot my jellyfin media and "metadata" to be able to rebuild my server on a new hardware instance if required.
I was hoping moving the jellyfin metadata directory such that it would be in the TrueNAS server's snapshot of a jellyfin dataset would be sufficient. I have determined that it is not. Particularly I have a known interest /var/db/jellyfinserver/collections, playlists and possibly Scheduled Tasks. I may well from other reading be interested in most of the /var/db/jellyfinserver directory (possibly excluding cache, if there and transcodes. Not your issue but I spent a week trying to mount my media directory into the jail (somewhat a newbie). Made the error of trying to mount a ZFS dataset with nested ZFS datasets -- took a week to find the one liner in the TrueNAS documentation that said that was a no-no. PS: I succeeded at knowing about mountpoints from installing a competing product. Your plugin not having predetermined and identified mountpoints slowed my progress somewhat. Not really your issue; other than I needed to figure out if it was necessary to create the empty directory using the jail shell before mounting the desired file. Maybe you could save me some time or maybe this affects your implementation of the plugin; I am not sure. I am considering creating a jellyfin dataset with nested datasets the first has what I call metadata (as the target of a mountpoint for /var/db/jellyfinserver) if that can be created before the install of your plugin and the initial population of that set of directories; the other dataset being my media files (mapped as just about anything reasonable like /srv/jellyfin (traditional) with /jellyfin also being an option). Using the jellyfin configuration options to relocate cache and transcodes outside the snapshot range is clearly something I can do; if necessary and desirable. If I cannot "premount" the /var/db/jellyfinserver dataset in advance perhaps the alternative is to stop the plugin & jail and recursively MOVE /var/db/jellyfinserver/* elsewhere; then perform the mount then recursively copy the previously moved contents back.
In the end, if I can do what I want and implement it will my TrueNAS server snapshot will enable me potentially to restore my entire configuration to your plugin (assuming the software version matches)? In addition selectively copying files off of such a backup should limit my requirements to configure a new jellyfin server on another platform and if I can match the media library path I should be able to restore items like collections and playlists based on the files in the snapshotted backup (along with the nfo files and images in the media directory.
Any suggestions about things I have missed would be appreciated.
Thanks for reading this; I hope it is not an abuse of this issue reporting mechanism.
My TrueNAS server has a AMD Ryzen 5 5600G with Radeon Graphics, if this is of interest in terms of hardware acceleration and someone will provide a testing procedure I could provide results, if needed (can switch threads if desired too)
The text was updated successfully, but these errors were encountered: