Hosting Jellyfin inside Proxmox with TrueNAS storage | Proxmox Home Server | Home Lab

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
hello everyone and thank you much for watching this is me Mr P and welcome back to a proxmox Home Server series inside the YouTube Community tab I set up a poll asking you which media server do you prefer to get set up inside the proximox and majority of you voted uh for gelatin so that's what I'm gonna do in this video I'll show you how to set up jellyf in media server inside your proxmox and how to use a virtualized true now ZFS storage pool to store all your media so let's begin to set up jellyfin inside the proxmox home sure there is a two ways to do actually three ways but majority is two ways is to have the virtualized inside the virtual machine or running inside the lxc container and then Docker inside it both of them will work fine at the benefit of running gelatin inside the LX containers that the resources of your proximal Source will be used less I will show you in this video how to set up inside a virtual machine because it's easy it's you set up and it's going to work fine yes you can set up inside Galaxy like I mentioned but there is a little bit of quirky things you need to do which I don't think is is going to be that quite easy to understand what you actually need to do is a bit actually more steps to get done to complete before you have a gelatin running so we're gonna do inside the virtual machine and the virtual machine I chose is my diet pie so diet Pie as you can see diapai 29 11 20 22 so on 29th of November I created this template or I updated this template uh the upcoming video will be to show you how you can refresh your templates for the future use because since November this diet pios had a lot of updates and Etc so I'll show you how to refresh the templates but in this video let's set up our selfie jellyfin media server so I'm going to right click on this template I'm going to choose clone and I will go for the number which number is 3 202 I will call this media server and mode I'm going to choose full because I want to have a full clone of template and not the linked one uh tldr linked one it means that it's going to be linked to a template if you delete the template VM will stop functioning and a full one that means that it's detached from the template and if a templates get deleted the VM will work so here we go I created this so we can actually start this going so I'm going to start this virtual machine going and we're going to jump right now to set up the our media pool I will set up a data set inside my virtualized true Nas to store all my media all my movies TV shows document documentaries and everything else so this is my trueness running inside the proxbox this is the one they go to ID number 200 so inside here I will click on a data set and that will expand data then I'll expand proxmox and inside proxmox data set I have another data set by name of PVE Dash drives and inside here I have a my clone Cloud VM drive this is where the the Mr pcloud and the Jeff Cloud lives so I'm going to click on the PVE drives and the right hand side I will click a big blue button I'd add a data set if you don't see this UI that means that you're running on an older version of the true Nas I read it on a video demonstrating how you can update the true Nest to a new version of the bluefin if your UI is still on old version I recommend to watch that video how to update the data set uh how to date the true Nas to a newest version and all this new layout all this new UI will be available for you anyway I have a PVE Drive selected I'm going to click add the data set and right now I'll give a name it's going to be media server media server let's go back sorry let's go down and generic I'll choose to SMB because I want to share the data set with the virtualized Jelly Fin and I'm going to click save it's going to ask me to update ACL or Access Control list I need to do that to allow my main user which is Dex the main user to have a read and write permission to this data set so inside the ACL I will delete group root and I'll put text that means that every user inside the group decks will have read and write permission to this data set and owner still stays as a root so I change text I said apply group and I click save and right now the ACL change is getting saved to this data set this will take just a couple of seconds or so so I'll wait for this to finish here we go so right now if I click on the media media server data set on the right hand side as you can see it says owner root and a group is Dex that means username by name of Dex has access to this data set with the read and write permissions right now the data set is is created I'm going to click on shares and inside the windows SMB shares I'm right now we're going to click add and I will expand the folder structure or data set structure all the way down to my midday server select that and the name automatically gets populated I'm going to scroll down and click save and right now oh yeah and then inside the new truenas UI I'm just going to click restart on all the version you don't need to do that and the newer one is asking you to restart the sample just to make sure it's working so right now my media server data set has been shared let's go back and see what's happening with my media server here or media sub version machine so right now I can see it's under 81 IP address ending with 81 so I'm going to SSA page into this virtual machine so I'm inside this virtual machine for the my jellyfin and I can see there is a date update happened to a diet pie and a bunch of uh packages needs to be rotated so I'm going to do that next before proceeding further so the packages get downloaded and updated and next thing what I'm going to do is change the hosting because at the moment it's still under diet Pi template so just gonna type diet Pi Dash config go all the way to option six then choose hostname delete this and put media server VM okay back exit okay and just type reboot reboot virtual machine to accept the new hostname virtual machine for this media server it restarted everything's fine so next thing what I need to do is I need to mount the Samba share for my true Nas by the name of the True assembership by the name of media server to this virtual machine to do that I will just type type Dash Drive underscore manager and you need to do with the root user and right now I'm going to choose option add network drive I'll choose Samba I will complete the local IP address it gives you a first two numbers so I'm going to type 178 and 24. press enter and it's asking me which folder I want to share on here so if I go back to my trueness there is this is the name so if I pick Mr pcloud it's going to come out this if I put data it's going to be Mount this so I'm just going to type media server let's go back into SSH and I type media server press enter which user I want to use I'm going to use Dex and I'll put decks again as my password that's how I created and I was asking me where do you want to mount if I leave this as a mount Samba it works great but I don't like this way just because it's just a bit of complexity happening in a future setups so I'm just gonna move it the mount point to a different location in this case it's going to be M and T slash diet by underscore user data and then capital letters media so this is where it's going to store this stuff I'm going to click OK and it's gonna start automatically download necessary programs like Sif utils and sap client to mount this if I entered everything correctly I should see the successful message pop up saying that the mount has been completed so let's wait for that message to show up all this process again it takes up just a couple of seconds or so so be patient and here we go Mount is completed and it tells me that new Mount can be accessed via and this is a location where it is so diet Pi underscore user data if you see something else in this that means that you probably entered the samba Samba shared folder naming correctly or username and a password is wrong and click OK on this I'll go back exit and okay so right now if I'm gonna go to mount diaper user data and the capital of this media this is where the stuff will live now I need to change to the diet by user and start creating folders if I'll create the folders in the root the jellyfin will not have access to access the files read and write and Etc so to change the user need to type Asus based diet pi it refreshes everything and it files the list I'm inside the same folder so first one is going to be movies MK to make directory TV shows make directory let's say family to store your family videos make directory docs for documentaries and what else we can say yeah they say oh yeah make make their music so right now this directory has documents for the documentaries family videos movies music and TV shows so this is running next thing we need to start setting up our Jennifer we will set up jellyfin inside the docker and we're gonna use a Linux server.io documentina Linux server.io is amazing team that created a lot and a lot of containers that we will use in the future they have a bunch I think over 50 or so containers for all sorts of stuff that you can host inside your Docker using their provided Docker images in this case we're going to use a jellyfin by Linux server if I scroll down a bit until I find the necessary file which is Docker Dash compose so I'm just going to select all of this right click and choose copy go back inside my SSH and currently my working directory is Mount diaper user data if I list the content I have a media this is our sample share music pictures videos and downloads are automatically created by a type iOS and Docker Dash data is just something I created while I was creating the diet by template to have a Docker already installed to make sure the dock is running if I put Docker space BS and because I'm not a root if I do that on the root it gives me like this so it tells me that no containers running or if I put like a right just sudo Space Docker it gives me the help page as if she that that means Docker is functioning so while we inside the mount diaper user data I'll create another folder by the name of docker and I will change directory into a docker and right now I make directory called jelly fin and if I C D into a jellyfin this is the one we're gonna use so this is where we're gonna store this uh jellyfin um Docker container image so right now inside the folder Jennifer I will create a file by the name of Docker Dash compose dot yml to do that I need to type Nano Docker Dash compose Dot yml and inside here I'm gonna left click and choose paste and this is the docker compose file with instructions to the docker how to create a jellyfin container so let's go down from the top to see what's what we're going to use 2.1 version we're going to create services and one of the services and only one service that's going to run is called jellyfin we're going to use image provided by Linux server people and we're going to use the latest version container name will be jelly thin I'll leave that because I want to just know what container net is running the lfn name puid and pg80 is 1000 this is why we used diet by user data diaper user to create a movies TV shows documentaries and Etc folders because diet Pi user is under user ID 1000 and user group 1000. if we use the root this needs to be change to 0 0 but I do not recommend that to give access root access to the top of containers so leave this under one hundred one thousand one thousand and create those folders with a diet by user in my case I live in uh in UK so Europe London time zone is great you can change this to yours I will ignore this line I'm just going to comment that out because I don't need this so next thing is creating the locations for config file I'm just gonna put dot slash config and delete rest of them and I'll create that folder after I finished editing Docker compose file next thing is asking me to give a direction where the data TV shows in a data movie store so instead of having each line representing the movies TV shows documentaries Etc I will basically do this I will comment out the second line and this one I will enter mount diapie user data slash media I will delete all this before the column and on the docker side so this is your host location this is where the docker location lives so instead of saying data slash TV shows I'm just going to put capital letters midi as well so that means that inside the container I will look for folder by name of media which will represent this folder on the left and this folder left is basically a Samba share inside my true Nas virtual machine the port 8096 by default is access accessport for the gelatin is fine by me I'll leave that as it is and then remaining ones is just optional ones that you can I don't really know actually for why they store I'm just going to leave them fine it's never never basically messed up my jellyfin server perform so I'm just going to leave this by default and restart it as a last stop that means the docker will try to restart the container if it detects that continue to stop the craster ETC unless the user does the admin of this virtual machine in this case is you if it decides to press stop on that container the docker will do that not right we'll leave that stop so we're just going to press Ctrl X to exit why to save enter to complete and now if I'm gonna cat the docker compose file I created the folder called config and put the dot in front of it dot means it's a current folder and inside the current folder look for subfolder config so my current fold is Jennifer and inside this column folder it's a Docker compose so inside the gelatin I need to create another folder called config and this is where the gelatin will store the config files so right now we can start running this this Docker image Docker compose image and start getting the container created to run a Docker compose file you need to be admin so you can change from Gia pi to an admin or just type suit in front just type Docker Dash compose space up space Dash D and press enter and right now as you can see there is output happening on a screen and it shows you how many file separate files if this Docker needs to download from a Docker Hub and get this container set up and this will take just couple of seconds so let's let's wait as the biggest file that probably is going to be this one 276 megabytes so I'm just gonna wait for this to happen I'll be back when all the docker is running oh actually Docker container is running and here we are we have ourself jelly thin Docker container running as you can see one of the lines at the top it says 53.7 seconds that's how long it took for Docker to download all the images extract and set everything up so right now I if I type dot sudo because I'm still under user type of type sudo Docker PS press enter I can see more information happening that I saw before and I have a Docker with ad number 19971 and its image this is an image command initiate create a 22 seconds ago it's been up 21 seconds and all the ports that what I need to use to access this jellyfin and at the end I see the name Jennifer so the access port for this is 8096. if you type your virtual machine AP address followed by it by 8096 will be presented with a welcome to jellyfin setup wizard so we're gonna quickly go for that preferred language is English that's fine I'm going to click next username instead of ABC by default it gives you user ABC I'm going to put Mr P and very simple password for me to enter click next and now it's asking me do I want to set up the library so I'm going to say yep I'm going to click add the library I'm going to say I'm going to set up movies Library name movies will be fine under folders as you can see this is a data slash media and this is the folder that were linked inside the docker compose file instead of having data slashed movies data slash TV shows I just said that's it this is one folder and I do need to worry about if I'm going to create a more subfolders inside the folder media I do need to worry to link them again inside Docker compose so I'm going to click on the media this is all my folders are created so I'm going to choose movies I obviously have option to network network connect to this I tried this setup before but I just like to mount the assembly indirectly into a virtual machine and then do all these things instead of mounting the network share to straight away into the docker container so I'm going to click OK on that scroll down a bit prefer the low language for this stuff or for the media inside the folder it's going to be English so I'm going to scroll down a bit to find English the third country is going to be United Kingdom this is where I am so I'm going to click U and look for United Kingdom next one is prefer embedded tile tools over file names determine the display titles to use them in the internet to do um so basically it is if the if your file name um has like some weird symbols or something is going to try to use that to detect the method metadata for this media files um leave that and take if some of the middle majority meter won't be detected you obviously can't go back to this setup and inside the settings go to this library and change that this reference this setting if you want next thing is a disabled difference and that is subtitles we're going to leave always on enable real-time monitoring that's fine I don't want add automatic collections because I want to manually do that uh metadata than loaders is going to be the movies DB and open movies database I'm going to say fine on those automatic refresh metadata I'm going to say 30 days just in case if the movie receives the the update to the description or update to the pictures of the actors and Etc I like that to be updated every 30 days method data server nfo I'm going to save yes fine by me then image fetching is going to be from these four sources yes that's fine so it's not gonna find the image inside this it's going to go to next one next one next one so scroll down a bit save artwork inside the media folder I'm going to say yes so if you have a folder and there is a move inside that folder the jelly fan will download all the artwork in that folder enabled chapter image abstraction I'm going to say yes fine by me and extract chapter images during the library scan I'm going to say yes and click ok so here you go we have a media created that we can do right now in next one we can create a setup the TV shows movies the TV shows documentaries Etc I'm Gonna Leave movies for now click next preferred metadata language English and I'm just going to say instead of the United States I'm going to say United Kingdom and click next allow remote connection to the server I'm going to say yes and enable automatic Port mapping I'm gonna not click that I don't like the docker container trying to in any way mess up with the router opening ports on Etc if I want to have access to this I can use the cloud split tunnel which I read it in the video about how you can set a powerful tunnel give yourself an access with the domain to your hosted services or tell scale this is probably how I'm going to use I'm just going to tail scale into this using tailscale plus it's called Network subnet subnet route advertising I already done a video about it as well you can find the link to that in description below so I'm going to click next on that well done well thank you very much and click done okay now username was Mr V I clicked enter in the passport so here you go I have a movies here at the moment nothing inside if I go back and click on a free hamburger menu on the dashboard I see a lot of stuff that I can tweak with if I click for example in the libraries this is where I can start going doing and setting up manager libraries this is where I can go for example like I said and add this tick if I want to or change the settings if something doesn't work for me I just went to internet archive database and then loaded very very old movie from 1936 called undercover man so this is the one we're going to use for the demo of adding the media to a file and Etc I just use the SMB to connect to the share inside the trueness virtual machine from my phone and just uploaded the file inside the movies folder so inside the jellyfin if I click on a hamburger menu I'll choose a dashboard and the libraries this is the uh the library for movies I'm going to click scan all libraries so all the libraries that you add if you press the button is going to go over and scan every single library for all the new content you added so let's wait for that to finish that means that's done I'll click on our home and here you go this is the movie showed up detected the actual title and then loaded the thumbnail the cover if I click on that it is using the cover as a thumbnail and using the as you see a banner at the top probably then loaded from only Community servers it gives me a list of the cast and crew and as you can see there's a chapters every five minutes pulled in gives me more information about this movie and if I press play obviously I'm not gonna show exactly what it is just I want to get penalized from YouTube but if I'm gonna press play as you can see the the bar is moving so I'm going to jump in a bit jump a bit and movie is placed with no problems at all and it's not even getting tanked on the server so jellyfin is quite well on the PC utilizing resources to provide to this virtual machine let's say you want to add another Library if you click on the hamburger menu click Dash on that dashboard click on the libraries click add in the library let's say we quickly set up the other one TV shows instead of shows I like to say TV TV shows that's fine so folder again it's going to be medium let's choose the it's going to be hiding here TV shows click ok preferred language is going to be English let's find what is English English at the top country is going to be United Kingdom what else we can quickly check um special series display name specials okay preferred embedded files episodes of the file names no I don't want this that's fine uh different subtitles that's fine to do quickly set up I want to update TV shows as well TV shows metadata updates every 30 days I'm going to use nfo cetera Etc same media yes that's fine I am going to take this I'm going to take this okay and right now if I have any TV shows I can upload this by SMB and then the elephant will automatically scan the library and obviously will put them into the location here if I'm going to click on the TV shows if I had any TV shows it's going to be showing up inside this place so this is how we set up a jelly fin inside a virtual machine on the proxbox and is it very simple very easy to set up and it works great with no promise at all thank you very much for watching and I'll see in the next one goodbye
Info
Channel: MRP
Views: 25,218
Rating: undefined out of 5
Keywords: proxmox, homelab, jellyfin self host, self hosted service, truenas scale home server, setting up jellyfin, jellyfin plus proxmox, jellyfin truenas proxmox, linuxserver.io, docker container, docker-compose, jellyfin media server guide
Id: VAnkPMylb1g
Channel Id: undefined
Length: 22min 13sec (1333 seconds)
Published: Wed Jan 25 2023
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.