Convert an Old Gaming PC to a Home Server using Unraid - (SMB, Terraria, Home Assistant, Jellyfin)

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
if you have an extra old pc lying around you might be wondering what you can do with it well you could always sell it or give it to a friend or family member but you could also turn it into a home server which is something i love to do in this video we're going to take a look at this budget gaming and streaming pc that i put together in a previous video and install something called unraid to convert it into a home server that will allow us to easily store and share files stream movies and shows from our own collection automate smart devices in our house host game servers and potentially much more stick around to see how [Music] so why would you even want to make a home server well there are a lot of reasons and to me the first is storage having network attached storage or a nas is incredibly helpful if you share files between multiple computers on your network work with a lot of large projects and files like videos or photos or just want an easy place to backup your devices it's even better if you have redundancy or where a drive in your nas can fail without necessarily losing any data you can also do a lot more with the home server from streaming your personal movie or tv show collection with something like plex or jellyfin automating your home with something like home assistant hosting a game server like terraria or minecraft even hosting your own website and really so much more today we'll be doing most of what i just mentioned we're going to set up a network share host a terraria server install home assistant in a virtual machine and use jellyfin to stream shows and movies with the help of our gpu's hardware transcoding and we're going to do all of this by installing unraid onto this lenovo think center that we looked at previously if you're interested in following along all you need is any working pc a flash drive and ideally a few spare hard drives for storage now unraid isn't free but you can try it for 30 days using their free trial and if you're wondering why we would use a paid software when things like truenas and openmediavault exist well you have a great point there are a lot of great operating systems and hypervisors out there and many are free but unraid is extremely simple and polished in ways that some other platforms aren't and i think it's great for someone wanting to get into the diy or home server space this pc currently has a 4 core 8 thread xeon e3 1231 v3 16 gigabytes of ddr3 memory a gtx 1650 a 128 gigabyte ssd and a 650 watt power supply we could get rid of the 1650 and swap out our 650 watt power supply for the original 180 watt power supply and normally i think this is what i would do because for most things we don't need a graphics card well technically we do but not something as nice as the 1650 because unfortunately our xeon doesn't have an integrated gpu so we technically need some sort of graphics adapter for the system to post but we could easily toss in something like this old radeon card just to boot the system but for storage game servers home automation or anything like that we don't need any graphics processing however the 1650 could come in handy if we wanted to be able to transcode video streams using something like jellyfin so for this video we're going to go ahead and leave it in just because i think it'll be fun to set up hardware transcoding we do need to make one hardware change to the system though and that's storage one of the cool things about unraid is that it's really easy to use whatever drives you sort of have lying around and also to add more drives in the future i have these two two terabyte hard drives currently just sitting on a shelf so we're going to use these in our server to hold all of our files and such the ssd doesn't really help us here so we'll go ahead and remove that now we could keep this ssd in here as well but for this video we're going to keep things simple and just use these two hard drives [Music] now we just need one more thing our boot drive now this might seem weird because you would never imagine booting your windows machine off of a flash drive but unraid is actually designed to work like this because other than occasionally changing configuration data it rarely actually touches the flash drive the os runs entirely on system memory with everything ready to go let's go ahead and get this thing set up before we get started i just want to be clear that i am by no means an expert and so it's very possible that i might make some mistakes or do things that aren't necessarily best practice also we had a baby not too long ago and so i've been suffering from a few sleepless nights so i just want to apologize now for all the dumb stuff i'm about to say here in just a few minutes okay so the first thing we're going to do here in windows is just go to a web browser and go to unraid's website and if you go up here to where it says download you'll be able to download this usb creator for windows while we're waiting on that we can go ahead and plug in our flash drive and then now that we have that downloaded we can just go ahead and run this and then here we're going to stick with stable and the most recent version for me is 6.10.1 and then we'll open up this customize and we can go ahead and put a name here so i'm going to call this haven unraid and then we're going to stick with using dhcp if you want to use a static ip and you know what you're doing more power to you go ahead and do it we're going to use dhcp and then reserve that dhcp allocation later on and then here where it says flash drive just make sure you have your correct flash drive and then we'll hit right and this will take a few minutes but once that's done we'll get right back to it okay now that it's done we can go ahead and eject it okay here's where i made my first mistake and somehow my camera didn't record properly so i'm just recording this after the fact the first thing we'll need to do is make sure our server is plugged into our network and then also plug in our flash drive as well as power you won't need a monitor and keyboard in the future but you should probably use it for the first setup just to make sure that your bios boots to the flash drive that has unrate os on it once it does you can just hit enter or wait for it to boot into unrate os then you'll wait for a bunch of gibberish to fly down the screen and eventually you should get to a screen that looks something like this with the name of your server in this case it's just tower because i recorded it after the fact as well as an ipv4 address you shouldn't need this ipv4 address but if you run into any issues it could be helpful once you get to this point though you technically can go ahead and unplug your monitor and your keyboard or keep it up if you'd like and we'll hop back over into windows so back in chrome we can type in http colon forward slash forward slash and then my my server name which is haven unraid and then dot local and that should bring us here now if this doesn't work for some reason you can also type in http colon forward slash forward slash and then the ipv4 address that shows up on the screen as well which for me is 192.168.1.235. so here where it says username root this is considered our access user i believe i can't remember we'll see that in a bit but yeah this is our root user account and this is what we'll have to use to access the web user interface and so we can just make up a really strong password here so use a much stronger password than i'm using we'll hit set password and we're in now unraid does give you a free trial that's 30 days and then you can actually extend that i think 15 more days or 20 more days or something like that um so it's a pretty decent trial if you want to try this out and see if it's worth spending the money on so we're going to use this trial and you see i actually only have 27 days left that's because i was using this flash drive for some testing just to make sure i had everything ready for this video so my trial is actually a little bit shorter but i will be paying for this so my trial is a little bit shorter than what you'll have but 30 days is still a good amount of time to test this out and see if it's something you want to do for your own server we also have this message that pops up um this my servers feature this plugin we can go ahead and install it it's not going to hurt cool so that only took about 30 seconds or so so we can hit done and then at this point i'm going to go ahead and sign in and so you might need to create your own account i have my account already i'm going to skip past that because i'm pretty sure you can figure out how to create an account okay so we're signed into our account for me that's hardware haven i still have 27 days on this trial because it's tied to my flash drive um or the guid i believe on the flash drive so it's not tied to your account i'm not going to purchase just yet because this is the account i'm using to make this video not my actual account but unrate is definitely worth purchasing but for now we'll just go ahead and hit continue trial and we'll get started so on this first page this is where we'll set up our array or our disks for our storage and so if we go down here to disk one we can see our two terabyte drives so we're going to select one of these and this is going to be our our disk where everything gets stored now we could go down here to disk two and select our second two terabyte drive and if i scroll down we'll see that for our array we won't see how much storage we have but it's we can do the math it's four terabytes but we'll see that this array will be immediately available but unprotected since parity has not been assigned and we don't want that we want parity so we're going to unassign disk 2 and then assign parity 1 to our other two terabyte drive so now the array will be immediately available but unprotected until parity sync completes and we want to have parity so that's what we want now where it says pull devices here we could for example put an ssd in here as a cache drive or a drive dedicated to docker containers or virtual machines but we're not going to do that in this video that might be something i i do in a later video or a later series of videos but for now we're just gonna stick with our two two terabyte drives and a really simple parity setup here so we can go ahead and hit start hit proceed it's going to erase everything off of the disk we're assigning as a parity drive but there's nothing really on these disks to begin with so not a big deal and there's a really good chance you will see this unmountable unsupported or no file system on our disk one here and that is totally okay all we have to do is right here where it says format we'll hit yes i want to do this and we're going to lose all of our disks art we're going to lose all of our data now that was potentially stored on disk one which is totally okay hit format and then give this a few minutes to complete all right great so we got this little notification here that parody sync has started that means our disk is formatted and ready to go so right now because the parody hasn't synced um we don't have parity so if this disc were to die we would lose all of our data but we really haven't done much so it's not that big of a deal now this will take quite a bit of time you can see it trying to predict down here an estimated three and a half hours it keeps going down but it's still going to take quite some time and it's going to take even more time as we're working on it because we can start working on this server even though we don't have our parity set up just yet so the first thing i want to do is set up a user so we have this root user that's under management access that's what i was trying to think of earlier and this is the user account we would use to access the unraid web user interface but we actually want to have some users for share access so we'll hit add user and i'm just going to call this haven uh no description for fun i'll just drag a picture in here for fun i'll just drag a picture in here okay that didn't work i guess i'm going to have to actually select it oh well and then for password we'll put once again a really secure password actually do that that's important and then now we should have our haven user here and that's great because we're going to set up a share now we have these default shares here and this is actually when we access this nas these are basically going to show up as folders that we can access by default none of these are publicly available so we can't actually access these but we might want to down the road especially if we're going to install any vms or docker containers or other things like that which we are so the first thing i'm going to do though is add our our own custom share so i'm just going to call this haven share no comments allocation method we can just leave this as high water you can look into why you might want to use a different allocation method minimum free space we're going to leave that at 0 kilobytes split level we'll keep this the same included disks all excluded disks none and we're going to hit add share great so now that we have this share made we can set up smb so that we can actually access that share from our windows machine so here where it says export we're going to hit yes we can leave this the same except no we won't we're going to set this to private and that's going to make it that you have to sign in as a user to be able to access this folder so now that we've set this to private guests don't have any access and our haven user right here we can give this read write access and hit apply so now in file explorer if we go down to network hopefully we should see this haven unraid here and if we click on that it's going to make us use our user that we made so haven and then your super secure password we can hit remember and we should now see this haven share which is pretty cool and i should be able to add files to it let's see really quick so if i drag this picture it should now be in our shared folder that's great now one thing we might want to also do we definitely want to do actually is set up these shares that are already here such as isos and domains to also be accessible from our haven user so i can go to isos for example and under smb settings i should actually be able to say read settings from haven share and hit read will this work okay it sort of did but not security we want private we can hit apply let's try this again if we go to read settings from haven share okay yeah and gave our user rewrite access so that kind of worked but we'll hit apply and then we're going to do this for domains as well and we'll talk more about what these actually do you could also set this up as yes hidden and then it wouldn't show up by default in this folder unless you mounted to that folder specifically but we'll keep it just yes but make it private so that you have to have user access to get there so just doing the same exact thing giving our haven user read write access and then app data as well all right with that done if we go back to our file explorer when we go back to haven unraid we'll see our share we made havenshare but we should also see these other shares that don't have anything in it yet but we'll get there let's check in and see how our parity is doing we still have two hours and 20 minutes cool we're not going to wait for that to finish we're going to start doing cool stuff so we already have basically our nas set up because we can put files on here we can make new folders and we should be able to should be able to access these from any computer on our network as long as they can log into our haven user so that is pretty cool our nas minus the parody that needs to be finished but minus that we basically have our storage setup so one of the first things i want to do is actually head over to this apps thing here and we have to click install to be able to access the community applications this is super quick and we're going to hit i understand on this disclaimer that these are made by third parties and they could do dangerous stuff so make sure you know what you're doing and be smart and yeah all that good stuff we'll skip past it but this is one of the things that makes unraid really really really cool is that people can make these apps that are pre-made um some of them are docker containers some of them are plugins but people can make these apps that you can basically just drag and drop almost to your home server and do lots of cool things so for example we're going to make a terraria or terraria don't don't come at me we're going to make a terraria server i'm trying to remember is it terraria we're going to make a terraria server so i just search for terraria and we have this ich777 i don't know if that's itch-777 not really sure but anyways we're going to pull up this little guy and you can read some of the information on it there's some cool stuff here but we're just going to hit install and this is going to bring up a template and you can read some of the instructions but if we scroll down and we can skip a lot of this stuff it should already be pretty much set up for us but you'll see we have this server files location and so this is actually going to be in our app data share that we we talked about earlier we have this preferred terraria version which i'm not really familiar with the versions so we're just going to leave this at 1.4.3.6 but you could potentially change that if you want and then we have game params which i'm not entirely sure what you would put here we're just doing that as well and then we're going to leave the tcp and the web console tcp ports the exact same but you could change these if you'd like and then we'll hit apply and this will take a few minutes because it has to actually download the files for the server and then it'll take a few minutes to spin it up but here in just a little bit we'll come back and we should have a working terraria server okay so after a few minutes this is done we can hit done hit close and if we head over to this docker section here this is where we have docker containers running and if you're like not really familiar with what docker is don't worry that's kind of some of the magic of unraid in these apps is that you don't really have to know sort of what's going on under the hood you can just kind of run it and then i would encourage you to learn about docker later but you don't have to be like an expert with this stuff to get it up and running so we see this has started versions up to date everything kind of looks good and we can actually if we want to click on this right here hit logs and we should see yeah listening on port 777 that looks good no errors or anything and if we actually click this and hit web ui this will pull up a little vnc viewer i'm going to make this a little smaller but we can see it looks like our server our server our server spooled up and we are in the command console so if i type help we can see a few commands we can actually do like if we want to kick some players or ban some players currently if we type password you can see the password for the server is just docker with a capital d we could change the password here we could do a lot of things um but not quite everything but right now it looks like our server is running so let's actually go ahead and pull up terrarium so we can go to multiplayer join via ip i'm going to click my character squidward here and you can actually see when i was testing um i had this this already pulled up and it has the same ip address but we're going to type in our ipv4 address 192.168.1.235. hit enter our port is 777. hit accept and then we need that password so at docker and we are in a ferrari server right now pretty cool um but you might be like well that kind of stinks um i didn't get to pick the world or the world size or even the little message of the day that pops up down here earlier um and we can fix that so we can actually exit out of this really quick pop back over into our server actually just hop back over into file explorer go to our server and go to app data and we have this terraria folder here now so we can go in here and find this server config.txt we'll open this up and now we see we can change a lot of this stuff there's a lot of things you can read um but we're going we're going to scroll down here for example where it says seed and uncomment this so take away that little fountain sign hashtag whatever you want to call it and we're going to change this seed to haven because yeah and then we could change other things like we could make this an expert world if we wanted or we could make the max players 12 instead of eight we could change the port but we're gonna leave the port at seven seven seven seven and then we're gonna change the password to of course haven and then we could set the message of the day so i'm gonna change this to stay curious so we can change all these things and we can actually change the world size i believe where's that at world size oh yeah right here right here creates a new world if none is found world size is specified by one two whatever so we're gonna go auto create we're gonna make a medium so two and then we can save this file and now if we go up to our terraria docker container we can hit restart so this container is going to stop and then it's gonna restart and it's going to look and see that there are changes in that server config one of which was the the world size and the seed and all that stuff and if we go back to terraria to our server here oh we didn't change the name of it we just left it as world that's dumb back to the config world name there we go we're going to change that to hardware instead of haven mix things up hit save we're going to restart our container then once it's good go back to terraria type in our new ipr type in our ip address once again 777. now our password is haven and we are in our world we can see our message says stay curious i don't know how to confirm that we are in a medium world now that this should be a medium world with the seed haven and yeah we have a terraria server now i'm not going to explain in this video how you can make this server publicly accessible this is currently only accessible on your local network which could be fun if you want to play with i don't know a sibling or a family member or something maybe down the road we'll talk more about how you could expose this to the public by opening up a port or some sort of tunneling service or something like that there's lots of ways you could make this server public but for now it is just on our private network so so yeah that's just where we're at but this is still cool we're running a terraria server on our unraid server lots of terraria server on our unraid server really cool all right what else can we do let's see let's see where our drives are at we're at 2 hours and 12 minutes great so let's set up a virtual machine so we're going to run a computer inside a computer basically and what i want to do is run home assistant os so if we go to home assistant's website we can scroll down to linux and find this home assistant operating system vm click on that and unraid uses what's called kvm so we'll click on this kvm and get this dot cue cal2 okay now that we have this in our downloads folder we actually need to decompress it because this dot cue cal 2 i don't know how to say that is actually an xz file because it's compressed so to fix that we'll have to use something like 7zip okay so we use 7-zip to extract this so now we just have this.qcao2 that's great i'm going to copy this so ctrl c then head over to our network haven unraid and isos i'm dumb we don't want this in isos i'm going to move this from isos to domains that was a mistake all right so we have this in our domain share now my bad almost made a dumb error all right so we're going to go to add vm linux we'll change this icon to just the default and we can change name to home assistant you could do a description we're going to leave cpu modus pass through we're just going to give this one cpu so one cpu core and it's a hyper thread there it's extra thread multi-thread i don't know uh two gigs of ram so 2048 we can leave machine and bios the same usb controller usb 2.0 ehci that's fine um we don't have an install iso instead we have this primary vdisk location we're going to change this to manual and then go to disk 1 domains and then this right here i guess actually we should do user i don't know let's just go user domains and then our little cute cow 2 we had earlier um we'll leave this at io graphics card vnc we can leave all of this stuff the same you could do a vnc password if you wanted and we can leave all this network stuff the same and that all looks good we can just hit create and so you see it pulls up this vnc window now we can see that it's installing it's doing its thing we'll make this a little smaller and this is going to take a long time home assistant takes quite a while to download and get set up so we're just going to let it run and do its thing in the meantime while that's doing what it's doing we can go ahead and do something else that's pretty cool we're going to go back to the apps over here and we're going to look for jellyfin so jellyfin is pretty similar to plex if you're familiar with that it like basically lets you take your library of movies and shows and stream it to your devices on your network which is pretty cool and so if we were to go to this h777 or ich we could download this or we could install this app and that would be really cool but one thing that would be even cooler is if we had nvidia hardware transcoding so we could use this gpu that's just kind of taking up space and power in the server we could actually put it to use but to do that we're going to need some drivers fortunately that's really easy to do we can just hit close and we can search for nvidia drivers and right here also ich 777 we can hit install this has additional requirements which is a compatible nvidia graphics card which we have we can hit okay let this run um this will also take quite a little bit of time but that's okay we'll just let it keep doing its thing okay so it's done and we have this done button here and so if we hop over to this plugins tab we should see that we have our community applications plugin which is how we're able to get to this apps tab we have our my servers which we installed at the beginning and we have this nvidia driver thing and there's some instructions you can follow on this i might try to put the link in the description but if you look right here you'll see that it says please make sure to disable and enable docker if you installed the nvidia driver so basically that just means we have to head over here to where it says docker wait no i'm wrong you would click this or you could go to settings docker and basically have to turn this off so hit enable docker no hit apply and then once that's done change it back to yes hit apply great and we can hit done and if we go to plugins and we go to the nvidia driver plug-in here we should hopefully see our nvidia gtx 1650 everything looks good and so now we should have working nvidia drivers on our server which means if we go back to the app store and install jellyfin we can install this in a way to where we can actually use the hardware decoding or transcoding from our nvidia graphics card so if we go to install and i just went ahead and installed um ich 777 h777s just because that's also the it's also from the repository where we got the nvidia drivers so that seems like a safe bet so i'll hit install and there's quite a few instructions here there's also instructions on the on a forum post that explains how to make sure you set all this properly up with with jellyfin so one of the first things we're going to do is add this dash dash runtime equals in video in this extra parameters so we have to go to advanced sorry trying to remember all this so right here where it says extra parameters we're just going to hit space and then paste this dash task runtime equals nvidia you don't have to do anything else here now here we do want to have some paths for our our different libraries so i'm going to once again hop over into file explorer and we're going to go to haven share and we're going to make a new folder here called shows ah shortcuts are better music and movies and actually we're gonna make a little parent director here called jellyfin and move all these in there so now here it says movies we'll click this we'll go to havenshare jellyfin movies and then where it says tv shows we're gonna do the same thing but it shows and then you guessed it music and then here where it says nvidia visible devices we need to set this as our gpu id it's a lot of use gpu id gpu uuid sorry so if we go up here to plugins i'll open a new tab and we can copy paste this and then we'll leave all of this the same and we should be able to hit apply oh we just removed this sorry because we don't have an intel or amd device do we have a nvidia device we can hit apply but actually don't because here's where i made another mistake we actually need to add another variable so we can click where it says add another path port variable label or device select variable set the key to nvidia driver capabilities all caps with underscores between and then in lower case the value needs to be all and you can name this whatever i went ahead and just named it capabilities then you can hit add and apply and we should be good and this should once again pull our image and get it spooled up in the meantime i'm going to hop over to our share here and i'm going to copy some footage into our different folders okay so off camera in our jellyfin folder under shows i went ahead and dragged in from my own plex server uh season one of the office and then under movies i just dragged in this free 4k footage i found because i don't have any like 4k movies or anything and we're going to need something like that to actually put our gpu to use but our jellyfin install is done so we can hit it done head back over to docker and we see now we have our not terraria our terraria stopped we have our jellyfin here started and the reason terraria is stopped is because we stopped docker earlier and we didn't have this auto start turned on which i'm actually going to make sure this auto start is turned on and we could also set a weight here so to make sure that our array whenever our server maybe gets shut off and turned back on it gives time for our array to spin up before these docker containers try to start so you could set a auto start weight but these should automatically try a few times to start so if there's any errors but yeah so we'll just leave that as it is i went ahead and started terraria back up and then here with jellyfin we should be able to go to the web ui and set up jellyfin so i'm going to kind of go through this whole start quick start with the account and everything you can probably do that on your own so username password and we're going to set up some media libraries so first we're going to do movies and then here for folders we'll just have to go to our movies folder we set up earlier hit ok hit ok and then we'll add shows and we'll go to this slash tv is what it was that we set up but okay okay then next next uh allow remote connections sure [Music] and then we're not going to enable automatic port mapping hit finish and then now we should be able to sign in with our user and by the way this is all happening on our ipv4 address on port 8096 but all our library should be scanned so if i go to shows i can pull up the office here and i can play an episode of the office so it was at this point in the video that i was going to show the hardware transcoding at work which it wasn't going to be doing anything when playing the office because it's a pretty low resolution and doesn't need transcoding but when i got to this 4k footage i was going to show off that you could see our gpu running a process on the right hand side and you could also see that we were getting transcoding in this playback data section but it wasn't working because i didn't put that variable in that i mentioned earlier but after getting it fixed i was able to go back and play this 4k footage and get hardware encoding working properly and you can actually see over on the right hand side in that terminal we have our gpu processes pulled up and you can see there's actually a gpu process where jellyfin is using our gtx 1650 for hardware transcoding so it is working oh and in the jellyfin settings you'll also have to make sure that you have the hardware transcoding turned on and set to nvidia invinc let's see how home assistant is doing okay so it says this little error thing here that actually shouldn't be that big of a deal we should still be able to actually access our if we go to the down here interfaces we see this 192.168.175. that is actually a new ipv4 address we copy that paste it and then go to port 8123 we actually are here at home assistant and because this video is getting pretty long i'm not going to talk through the entire setup process for home assistant that could easily be another video but for the basic setup it's pretty self-explanatory you just kind of follow along and then it will try to discover any devices on your network that you can start configuring so i just set up some lamps including two that i have in my little office area and i was able to turn them on and off change the brightness change the temperature and that was all i really set out to do if you're interested more in home assistant there's plenty of videos on youtube and i definitely plan on doing more home assistant content in the future there are a lot of other really cool things i think we could do at the server like this and there's also some really important things we should do like setting up backups for our configuration as well as our actual data but i think i might do all of that in some future videos and maybe even a tutorial series if you'd like to see an unrained tutorial series let me know in the comments and if there's anything specific you would like me to cover with unraid or just in general comment that as well if you liked this video and want to see more like it make sure to check out the hardware haven channel and get subscribed also consider leaving a like to help this video and maybe even check out my patreon that's about it for this one though so thanks for watching stay curious and i hope to see you in the next one [Music]
Info
Channel: Hardware Haven
Views: 469,959
Rating: undefined out of 5
Keywords: budget nas, cheap nas, diy nas, home assistant, home assistant unraid, home automation server, home lab, home server, how to build a nas, inexpensive nas, jellyfin, jellyfin server setup, jellyfin unraid nvidia, nvidia, simple nas, terraria server, unraid, unraid gaming server, unraid install, unraid nas build, unraid nvidia plugin, unraid on old pc, unraid review 2022, unraid server, unraid tutorial, unraid use gpu, unraid vs truenas, what to do with old pc
Id: 7h0JVS0en3U
Channel Id: undefined
Length: 37min 22sec (2242 seconds)
Published: Fri Jun 03 2022
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.