Homelab Services Tour -- What am I running on my Homelab?

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments

Hi! Last week I showed the community a tour of my homelab, this week I decided to show you guys what's running on all of that hardware. So, this time I walk through all of the services and systems that make up my homelab. I hope you enjoy!

👍︎︎ 2 👤︎︎ u/Techno-Tim 📅︎︎ Jul 18 2020 🗫︎ replies
Captions
in my home lab tour video i showed off the infrastructure or just the hardware and networking setup of my whole entire home lab this gave you an inside look to what's running here at my house i showed off my network setup as well as my whole entire server rack and after showing that off many of you asked what are the types of workloads that run on those servers so today we're going to walk through just that [Music] hey welcome back so i'm techno tim and today we're going to talk about all of the services that run on my home lab as a quick reminder i stream every tuesday thursday and saturday so if you want to continue the conversation about home lab services there we can so let's talk about what's running on my infrastructure so in the previous video you saw my infrastructure you saw how my network and servers were physically set up and if you follow this channel you have an idea of what's running on some of that infrastructure well today we're going to take a deep dive into all of my infrastructure i'm going to walk you through how my network is set up as well as all of the services that are running on my server rack so that you can get a better idea of the types of workloads you could run on this type of hardware or at home so with that out of the way let's hop right in so one of the first things i showed off was my network switch i have a cisco sg200 18 port gigabit switch now this is a managed switch and i bought this thinking i would do more management to it but as it turns out i don't need a ton of management and i could have went with a dumb switch rather than a smart switch i considered vlans at one point in time but i just ended up segmenting my network by subnet so you saw in the video that most of my ports are plugged in but not all of them are active right now so there are a lot of pcs servers and iot devices connected and then a few my ports are uplinks one of them is an uplink to my ubiquiti unifi ap so rather than deep dive into each port the main takeaway here is that i don't use many of the smart features and i don't use vlans and i'll show you in a little bit how i manage my ubiquity access point so next let's talk about the foundation of my services you've heard me talk about the different use cases for bare metal virtualization and docker containers well we're going to start right here at bare metal so the foundation for all of my servers is a bare metal install of proxmox proxmox is my current choice for a hypervisor and on proxmox i run virtual machines so in the video you probably saw two servers so the one on the bottom is what i call galaxy that was the dell r710 that has proxmox installed on it and then the one on top the pc gaming conversion that's one that i call proton that's also running proxmox so i have two instances of proxmox running so let's dive into the first one the one that i call galaxy so the first one we dive into you can see a lot of virtual machines running these virtual machines do various things but i'll dive into that here in a second so you can see here according to the server load it's handling everything pretty well so i have some pretty intense workloads on here but we'll dive in that here in a second cpu usage looks pretty good you can see a spike here memory usage is staying pretty consistent in the i o delay bounces around but it's pretty low if you look in the network i have quite a few things going on here so i have a quad gigabit nick that came with the server so that dual gigabit nick i passed through to my network firewall and basically the quad nick is shared across all of my vms you can see that i dedicate a couple of these nicks either to my dmz or my other network as well as one dedicated to my iscsi interface but for the most part it's a pretty basic setup next we can look at all of the disks here there's nothing really too interesting here except for this one right here so this 1.3 terabyte of disk space is actually a raid 10 of ssds now i briefly mentioned this in the hardware tour but when i said i outgrew those two terabyte drives that's because all of my data was stored there and so after i moved the data to the disk array shelf i replaced them with ssds and now it just only runs my vms and right or wrong instead of using zfs on that proxmox server i just repurposed the dell perc h700 card to this ssd array another important call out here is that i install the least amount of things on proxmonks possible for the most part i'm just using this as a hypervisor to run my virtual machines so let's dive into some of these virtual machines this first one i call shield and if it's not obvious from here this is my network firewall and if we look in the hardware tab we can see that i've passed through two of my network cards and these network cards are for you guessed it the lan in the wan port and here's something you probably didn't know this is actually running xg firewall by sofos with most of my infrastructure i bounce around all the time and i've always done that with network firewalls i've gone from hardware-based ones to software-based ones to different linux distributions to open source to closed source and so i've been on a constant journey to find a great network firewall and while i did use pfsense for a while then i used untangle then back to pf sense then open sense i finally decided to settle on xg firewall has a great ui does a lot of deep packet inspection has security scanners as well as security definitions and you get a lot out of the box and they have a free home version so i haven't fully documented my network firewall journey if you'd like me to let me know in the comments below but let's sign in and take a look so this is my sophos xg firewall you get a pretty good dashboard here and you get some really good reports they automatically classify a lot of websites for you so you can tell where most of your web traffic is going and you can drill into some of these categories and get individual reports here you can see i used quite a bit of streaming media you can see that twitch is obviously using the most but you can continue to drill in and explore some more and my network setup here is pretty typical i have my lan port and i have my wan port and then i have a dmz port and this dmz port is where i run some of my public services and then you can create firewall rules based on almost anything you can think of and so you can see some of the services that i have running on my firewall too antivirus authentication dns all the typical stuff but then i'm also running my ssl vpn here too so for me it's a lot easier to run this on the edge network rather than somewhere else behind it so yeah outside of the firewall itself nothing too out of the ordinary going on here it's just a pretty solid firewall with lots of visibility and so the next vm we'll look at is the vm i have running freenance and so yes i'm fertilizing freenas and here's how we do it so i have an lsi hba controller that's installed on my dell r710 and from there i pass that controller through to the guest so you can see it right here and then from there i connect my disk array shelf to the hba controller and so now freenas has access to all of those disks and so here's my freenas server outside of being virtualized it's pretty typical so i give it 32 gigs of ram it has access to all 24 cores although you can see it doesn't really need it and you can see i just have one big pool for now so this one big pool i call storage zero is 20 terabytes and it's configured in a raid z2 with six eight terabyte drives so that gives me decent performance and parity and you'll see i have some different data sets set up so i have a nice scuzzy drive i also have nfs setup and then i have a time machine data set set up this is to back up some of the macs i have here and if we look at some of these services it's pretty typical i'm pretty bare bones and then i don't have any jail setup or virtual machines this is because i use proxmox for my hypervisor and i use docker for containerization but other than that nothing really special about this freenas server it's rock solid and works great and this is the one that i call andromeda so next we'll hop into one i call milkyway now this is a windows virtual machine that i also give 24 cores to as well as 16 gigs of ram and you can see there's a fair amount of cpu usage as well as network traffic and if you haven't guessed this one's dedicated to my pvr and the pvr i use is blue iris so i use blue iris to monitor my home you can see i have five cameras here i actually have a six but it's not turned on right now but this monitors and records my home and helps keep it safe i've been using blue ios for years and it's fantastic and that's pretty much the only job of that virtual machine next is the server i call aquarius so this is my rancher 2 instance this vm i've given 8 cpus and 32 gigs of ram as you can see it's nowhere near maxing out what i've dedicated to it but that's because i'm in between migrating some of my stuff from rancher 1 to rancher 2. so currently my rancher 2 instance is only running 4 things it's running heimdall home assistant pie hole and plex and all of these are pretty lightweight except for plex and plex when idle is super lightweight too and so you may not have noticed too but most of these are internal services that's because i started migrating my internal services from my rancher one instance to this one that's a good segue into my internal rancher rancher one server so this is my internal rancher one server you can see here i have some services so i haven't completely shut down all the old ones yet so in here i've categorized some of these i've categorized this first group as infrastructure so you can see i'm running home bridge ntp pihole unify as well as a wemo checker so home bridge is a bridge for my iot devices that don't support apple homekit yet and it's pretty small ntp is my network time protocol server so this serves out the network time to all of my devices asking for it rather than going out to the internet by home you should know what this is but this is doing ad blocking unify so this is my network management of my access point and wemo checker it's pretty basic but it's custom code i wrote to check my garage door to see if it's open longer than a minute or two and if it's open longer starts notifying me and then you'll see some other services i have here i just group these as media so i have duplicati next cloud plex c file i was testing this i'm not using it i can probably delete this and then sync thing and totally or tout delete not sure how you pronounce it and then sites heimdall that's my application dashboard so if we look at pi hole here's my dashboard for pi pihole and if we look at my dashboard for my unifi network here it is i'm only managing one access point but it's a super nice ui tons of visibility in here and the other ones are somewhat interesting not all of them have a ui but the one that is is heimdall and so i'm running heimdall in a docker container it gives me access to all of my home lab services that i've been self-hosting and looks pretty good too so that's all i'm running on my internal rancho server let's take a look at my external rancher server so this is my external rancher server it's kind of like the others i gave it 24 cpus as well as 24 gigs of ram you can see this one's kind of busy some decent network traffic and some pretty high memory use and that's because i have lots of docker containers running on here so you might not recognize any of these images that's because a lot of this is custom code i wrote myself so in case you didn't know i'm a software engineer and i guess a tryhardsys admin so i write a lot of custom code for a lot of different things and here you can see some of that so i'm a firm believer in ci and cd and so as i build and deploy my code it's actually getting built somewhat tested and deployed to my infrastructure here and so rancho was a great fit for that because after i build my code i put it inside of the docker container and then rancher pulls it down so here's some of my custom code that's running and you might recognize some of this so discord bot this is actually the open source discord bot that i shared on github but this discord bot is running one of the communities i manage it does a lot of different things but mostly moderation so it gives our moderators in that community some help and then you can see here small streamers connect mixer host spot and then small streamers connect twitch host spot so i briefly mentioned this you know my two virtual machines that have a dedicated gpu pass through to them well those are 2 24 7 mixer and twitch streams well mixer isn't going to be around much anymore but my twitch stream will be and so these bots are added to the channel there are chat host spots that you can interact with and then you'll also see i have one called modbot and these are the moderator bots and these bots are added to this channel but strictly do moderation and then if you see here stream components so this is a web server that has react components inside of it and these are basically custom built overlays for twitch and mixer that i use on those streams and they're connected to internal apis that i wrote for twitch and mixer that serve out data to them and light them up and then so a combination of all of these bots as well as some other that run on those virtual machines run the entire stream it might be kind of confusing but just search twitch for small streamers connect and you'll see it there okay making our way down so this small streamers connect web is a website that i built for it that's all written in react and containerized and hosted in my infrastructure and here you'll see techno tim channel bots this is the same thing for my own channels but it's just moderation and if you want to see the spot this is open source on the github as well so next we'll see this one called twitter web hooks so this is actually a twitter bot so twitter made some huge changes to how their bots should work and so that required me to rewrite my whole entire bot and stand up some web hooks basically api endpoints but this helps manage the community's twitter page okay making my way down this mysql server that's pretty self-explanatory it's a mysql server running within a docker container and then games i have a few game servers running right now this battlefield 1942 one was a test i have it working on my local land but not publicly but i think i'm just going to keep it on my local land next to the minecraft server that is publicly hosted and then we move on to the infrastructure group so this first one is custom code i wrote i actually wrote my own dynamic dns so as my ip changes i can go out and update cloudflare's dns which then replicates everywhere gitlab ci monitor this is just a ui to see the build status of all of my code so load balancer this is an internal rancher thing all this is doing is exposing some of my services to the load balancer and nginx proxy not important it's just a reverse proxy for rancher probably not needed anymore and then we'll get into the internal services group this is just exposing some of those services publicly through my firewall and next is kong so this is my api gateway i do have a few publicly exposed apis one of which is the twitter web hooks api i just talked about and another one we'll talk about here in a second and then i have let's encrypt running so let's encrypt is a great way to get a ssl certificate so next is prometheus and this is used with kong this helps me visualize and troubleshoot kong if something goes wrong and these two right here a couple websites i host as well as many of these others and this one right here called space weather amp so i built an app that runs on android and ios it's called space weather and it lets you know if there's any auroral activity near you so that you can see possibly the northern or southern lights and so in order to support that app i actually had to create an api for it i have to actually go and grab some images and manipulate them and then i also have to go and scrape some data and then i have a website for a landing page to let people know where they can download the app and so all of these run together to support my application and then if we scroll down i have a couple more websites that i host as well as my wordpress blog now this blog doesn't have a ton of posts but i've run a variation of it for a long time and this last piece wow server is just the server i run on my local network to kind of play around and test some things out and possibly sharpen my skill in c plus but that's not happening so all of this makes up my external rancher server and that's the one i call hercules and so next on the list is one that i call kuiper this is just a virtual machine that's hanging around running an old instance of mongodb as well as an old instance of mysql server now we know that this is a great use case for a docker container but it's going to be going away so i don't even want to mess with it but it's running ubuntu and on top of that i have and my sql installed and so as i build and migrate some of my services to my rancher 2 server i'll eventually move this data and services to that rancher 2 server and so that's it for my first proxmox server you can see there are some virtual machines that are here that are just off and those are really just for testing it's super nice to have proxmox running for all of my tutorial videos because i can just spin up a virtual machine and then tear it down now we'll hop into my second proxmox server so this is the proxmox server you can see in the server rack that i converted from a pc to a rackmount server chassis and this one has pretty low specs compared to my dell r710 and that's because it only has two purposes so it has two windows 10 virtual machines each of those has a video card passed through to it and each of those virtual machines connect to either twitch or mixer with the 24 7 stream that's running all the time and so those virtual machines are both running obs they both have the custom overlays that i talked about that i host internally on my rancher server and they're always on and always streaming and because each of those have the video card passed through to them they can each use the end bank encoder from a video to encode that stream and so that takes a lot of pressure off the cpu and that's the reason why i tried to figure out how to pass through a gpu to those devices is because i was cpu bound if i used the h.264 encoder for both of those virtual machines i was pegging the cpu and so i found those affordable video cards added them to it and then offloaded the cpu encoding to gpu and that definitely took the pressure off and so the one called beam is the mixer stream it has eight cpus dedicated to it and is running on a solid state drive and the twitch one that i call photon is almost exactly like it and so both of these virtual machines just run 24 7. and now that mixer is going away i'll have to find something to do with that gpu and this whole entire virtual machine but that pretty much summarizes everything i have running on my home lab for the most part it's some networking equipment and two servers in a rack each of those servers are running proxmox and then each have virtual machines running inside of them and some of those virtual machines are running rancher which gives me access to docker and kubernetes where then i can spin up containers for services and you can see how lightweight some of those services are that are running inside of those docker containers some of them are only taken 10 15 20 megabytes of ram which is one of the reasons why i choose docker when spinning up new services and so hopefully that answers your questions about what's running on my home lab if not feel free to let me know in the comments section below or if you have more questions you can always join my live stream i stream every tuesday thursday and saturday so you could just hop in there and we can continue the conversation there and so thanks so much for watching till next time stream on my friends um totally good vibes in there and micro center it's it's it's just great but anyways longer story or a long story even shorter my point was was i would love to just stand there on the way out as people just bought their stuff and just be like with a microphone and just say what are you building this weekend you know and they would say yeah i'm building this whatever i'm building a brand new nas or i'm building a gaming pc you know and i would love to just interview people on the way out because like i don't know i guess it goes back to why i like to to talk about what people are building it's kind of uh yeah i don't know i don't know micro center missed opportunity there
Info
Channel: Techno Tim
Views: 143,288
Rating: undefined out of 5
Keywords: homelab, home server, home lab, homeserver, homelab tour, network tour, home network setup, home network rack, home server rack, tour, home lab tour, homelab setup, homelab projects, home lab build, homelab raspberry pi, home server build, home server setup, build your own network rack, lab, diy, server rack, network, homelab weekend project, virtualization, server, home lab services, self hosted, services tour, home server ideas, setup homelab, homelab services, homelab hosting
Id: NHvoN-phAgo
Channel Id: undefined
Length: 18min 30sec (1110 seconds)
Published: Sat Jul 18 2020
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.