(upbeat music) Hello again everyone and welcome back to Learn Linux TV. In today's video, what I'm going to do is take you through some of the applications and services that I'm running in my home lab. And this is a video that I've been wanting to do for quite some time. I promised you guys that I would give you a tour of my home lab when I did the studio tour video recently, actually wasn't very recent, it was back in November. So it's been a while, but I promised you guys I would deliver this content and now here it is. So what I'll do is take you through some of the solutions that I run in my home lab, such as TrueNAS, Proxmox, and more. In addition, I'll also show you the process that I go through anytime I want to spin up a new virtual machine. I think this is going to be a fun video, if nothing else, I think you guys are going to get a bit of inspiration from my home lab and you might want to do something in your home lab that I'm doing in mine. And this is going to be a fun video, I can't wait to get into it. You guys have been asking for this for a while and I just can't wait to give you this tour and that's exactly what we're going to do. Now, before we get into that though, I just need to take a moment and mention the sponsor for today's video, Akamai Connected Cloud. If you're looking for a cloud provider that's affordable, flexible, and reliable, then look no further than Akamai Connected Cloud. With Akamai's cloud platform, you can spin up Linux servers quickly and the platform contains all the features you'll need to deploy full featured solutions. And using the marketplace, you could easily deploy applications such as Next Cloud, Rocket Chat, Mastodon, WordPress, Pihole, Plex, Jenkins, and many more. In fact, there's over a hundred applications available in the marketplace. If you want to set up a custom Linux instance, you could do that too. All the popular Linux distributions are available on the platform, including but not limited to, Debian, CentOS, Fedora, Ubuntu, and many others. In fact, even Arch Linux is available. So check out Akamai Connected Cloud with the URL that you see on the screen right now, which will do two things. First, it'll help support this channel, which I'll really appreciate, and it'll also get you $100 in starter credit to check out the platform. And thank you yet again to Akamai for sponsoring today's video. I really appreciate it. Now let's start the Homelab shenanigans and check out my Homelab. (logo whooshing) And let's start off with TrueNAS. TrueNAS is my network attached storage solution of choice. I've been using it for quite a while, and what I'll do is just log in. Let's do it! All right, so here it is. Here's my TrueNAS implementation right here on the screen. Now it may not look familiar because the software has changed quite a bit, but I've shown this on the channel before. In fact, a little while ago I uploaded a video that goes over a low-power Homelab NAS server build, and this is that same server. I'm still using it after several years. In fact, I don't even remember how many years has passed since then, three or four, something like that, but it's still going strong. I have an Intel Atom CPU in this particular build, and the thing is that's not the strongest or the fastest processor that you could possibly have. However, I'm the only person that uses this infrastructure, so it's more than enough for me. And the same goes with memory as well. I'm sure a lot of you will have more than just 32 gigabytes of memory when it comes to the RAM on your storage solution, but again, I'm the only person using the server, so I don't need all that much. So it's doing pretty well for my needs. As far as how I carve out my storage, what I'll do now is go down here to pools underneath storage. So if you're curious how I set up my storage and how I split it up, well, here you go. You can see the total amount of space that I have on this volume. Again, I have over four terabytes free. Tibby bytes is what it shows right here, but I'm just so used to saying terabytes. It's, you know, a habit issue, I guess. Anyway, that's how much I have when it comes to total space, and this is how much is free. I have two volumes, volume one, and also the cleverly named volume two. Volume two is all SSD, so as you can see, there's not nearly as much storage here as with my main volume. And the reason why I have two volumes, one SSD and one not, is because, well, if I have a situation where I want to benefit from the faster storage, then I'll put it on this particular volume right here, but if speed isn't an issue or a concern, then I just add it to this volume right here. For the most part, though, I use volume two for video editing because I want the fastest storage for that as I possibly can get. I edit video over a 10 gig connection directly off this file server, so it does need to be fast. I definitely don't want storage to be a bottleneck when I have a 10 gig network. So with SSDs here, that definitely works out well for me, and all the videos that you watch on this channel are edited with this as the backing file store. Now, if you want to find out how you can run TrueNAS and learn how to use it in general, then check out my friend Tom's channel. He has all kinds of videos about TrueNAS. I'm not going to go over TrueNAS in any kind of detail in this video. In fact, this is just an overview video anyway, but if you want more information on TrueNAS, then definitely check out Tom's channel. And here we have my Proxmox solution on the screen right now. So if you're at all curious what my Proxmox implementation looks like, well, here you go. Now, if you weren't already aware of this, I showed this off during the Proxmox series here on the channel, but I've upgraded Proxmox since then, so it's not the same version as the one I went through back then, but for the most part everything I mentioned in the video still works. But here in the new version of Proxmox we have Dark Mode, which did not exist when I did that series. I kind of wish it did because that's easier to look at, but anyway, I have two Proxmox nodes, cleverly named PvE1 and PvE2. So I'll drop these down and you can see the virtual machines that I have on my network. Now, we can see that I have quite a few Kubernetes nodes within Proxmox. I just recently spun up this cluster right here. Actually, there's two clusters here. There's the staging cluster, there's also the production cluster. You can see that right in the name, so I have my own naming scheme when it comes to my servers. And I've been running Kubernetes on Raspberry Pi for quite some time now. I even have videos that show you how to set that up, but I decided to play around and build the cluster here on Proxmox, so I did exactly that. I haven't had enough time to really use this yet, so there's no containers running within my Kubernetes environment right now, but I do have the cluster and it is working. Now, if I scroll down here, you can see that I have a number of templates and I'm creating some new ones, so I have some duplicated names here, but that's just because I'm going to be replacing my templates. These three here are my actual templates. I have a WN12 template, a WN12 template with Kubernetes packages pre-installed. Now, the cluster isn't pre-configured in that template. This particular template just contains the appropriate repository for Kubernetes and it also includes the Kubernetes packages pre-installed. That's just one less thing I have to do if I want to add a new controller or a new node. So now what I'm going to do is show you the process that I go through anytime I want to deploy a new instance here. So what I'll do is choose my WN12 template, this one right here, so I'll right click on that and then I'll click clone. So I'm going to clone the template into a brand new instance. I'll give it a really high number here just to make it stand out. For the name, I'll just call it Debian. Simple enough, it is a Debian template, so I guess that makes sense. I'll create it as a full clone. I'll click clone and we can see right here that it's starting to come to life. We have the spinny wheel thing here showing that it's being provisioned, so we're just waiting for this to come up. Should happen anytime now. And it looks like it's done. So what I'll do is right click on it and click start and we'll see the process of spinning up a new node here on my network. So it's booting up. Sorry to interrupt myself, but I just wanted to let you know that I really enjoy making this content for you guys. I have a ton of fun. If you enjoy the content that I produce, then please consider supporting Learn Linux TV. The thing is, producing content like this isn't cheap. So by giving back to the channel, you can help me make even more content for you guys. And to find out more about how you can support Learn Linux TV, what you could do is go to support.learnlinx.tv and there you'll find some of the ways that you can help support the channel. Anyway, let's get back to the video. And what you'll see is this machine is running and what you'll see is this machine will boot up and then CloudInnit will take over and create some additional configuration for me. For example, it's going to reset my SSH host keys. In fact, that's exactly what we're seeing right here. Now we can ignore the failed message there. That's just a glitch that I haven't worked out yet. We're going to ignore that. Anyway, we'll let CloudInnit run. So right now it's installing updates. So we'll let that finish. All right, and that process is done. You can see that CloudInnit has finished. So if I just press enter right here on the screen, I get my login prompt there at the bottom. Now what I'll do is just use SSH to log into this particular instance. It's easier to record for my screen recorder anyway, so that's what I'll do. And this is the server right here that we just created in this video. We see the uptime is just three minutes at this point. So we know it's the right one. Now at this point, we saw that CloudInnit took over and started configuring this node. Now CloudInnit is not the only thing that I use internally to provision things. In fact, I have an entire Ansible implementation that takes care of everything for me. And that's going to run very shortly on this machine. That's something that I have set to automatically run anytime I build a new instance. And that further configures the instance towards its desired goal. To see when this is going to happen, what I could do is run systemctl status nodeforge_provision.timer. Nodeforge is the internal name for my Ansible solution, but it is something that I might release publicly soon. I'm not sure, but I'm working that out. So you might be able to download my implementation if I make it public. And there's a very good chance that I will. Press enter right here. It says that it's going to run in 12 seconds. So at any point, I'm going to see a wall message on the screen that's going to tell me that nodeforge is provisioning the machine. Now even though it showed only 12 seconds until it runs, nodeforge has a randomized minute when it does actually run. So it will still run. It's just going to run at some point in the future. And because I'm recording, I'm a little impatient. So what I'll do is just kick it off manually. So if I'm impatient, I just run the provision command, which causes my server to check into Ansible and run the configuration. And this is what it looks like. And check it out, it's running. So if you're curious what it looks like when I run Ansible internally, you're seeing it right now. There's a bunch of tasks in here, as a matter of fact, and this is going to take a while to run for the very first time. Now, anytime a node checks in that's already had this run against it, it only takes a minute or two, I think closer to two and a half minutes for this to run. But the first time it runs, it's going to have a lot more to do. So right now it's adding my user account to the machine. It created my sudoers file, my user group. It just locked the root password. Now it's copying my .files over, setting the time zone, the locale. Now it's installing log rotate. I just saw crowdset come up. That's another thing that I run internally. I'm even setting STP options for networking, downloading scripts, you get the idea. There's a lot of things that are going on here in my Ansible solution. If you're curious how to implement Ansible, I have an entire tutorial series that goes over that. So feel free to check it out if that's something that you want to learn. And those are the main applications that I'm running in my home lab. Most of my time is spent editing video and things like that. So I may not have a setup that's going to, you know, mirror something that's insane that some of you guys out there have on your end. But if you have any questions about anything that I'm running on my end, then well, leave a comment and I'll try to answer that comment as soon as I get a chance. Also, if you want to find out even more about anything in particular, I might consider doing a video about that subject. So drop me a comment about that as well. And who knows, I might do a video topic in the future that'll show you even more information. Anyway, in the meantime, thank you guys so much for checking out this video. Let me know what you guys think. Let me know what you are running in your home lab and I'll see you in the next video.