In my last Homelab video, we focused on the hardware, racks, servers, networking, and storage, and a ton of you asked, okay, but what the heck are you running on that thing? So today, I'm going to break it all down. Everything I'm self-hosting in 2026, from the big bucket items like media, databases, and monitoring, all the way down to the smaller services that solve one specific problem really well.
Self-hosting, for me, just means services I run myself on hardware that I own in a way I can control and move. In my homelab, that ends up being a mix of media like Plex, photos, and transcoding, docs and real-life ops like paperless, PDF, tools, and workflows, monitoring, so metrics, logs, and uptime, to home automation and security like Home Assistant, cameras, and Zigbee, to core infrastructure, DNS, reverse proxy, and certificates. And it all runs on two main platforms for me.
Proxmox as the virtualization layer, so VMs, clustering nodes, and backups with PBS, and even some LXCs this year. And then TrueNAS as my storage layer, ZFS, shares, datasets, and also a bunch of containers. On top of that, I run three RKE Kubernetes clusters, all managed through Rancher for the stuff I want orchestrated.
That probably seems like a lot, but my plan today is pretty simple. Just show you what each piece does, why it exists, and how it all fits together. Now the backbone of all of this of course is my network.
So at a high level I have my ISP that I connect to with my gateway. From my gateway I have VLANs and then from my gateway I connect my switches. And then through there I connect all my servers.
Pretty simple right? I flattened my network quite a bit this year too. I'm down to three VLANs or four if you count the guests, but I've never had a guest here that used it, so technically three.
But my three VLANs are IoT, main, and cameras. My management network is where my UniFi devices live. That's where my hypervisors live, so proxmox, or anything that needs access to all VLANs.
On main is where all my trusted devices live. So my workstations, my laptops, and even my mobile phones. I put my Apple TVs and my HomePods on my trusted network, well, because I trust them, and it's a lot easier to put them on that network than to put them on the IoT network and create a bunch of firewall rules that I could get wrong just to be able to communicate with devices like my phone.
Then on my IoT network is, you guessed it, IoT devices. So this is things like lights, thermostats, or anything that doesn't an operating system that I can update or anything that I don't really trust to be on the same network with the rest of my devices. This network is pretty locked down and I don't let these devices communicate with any of the other devices on any other VLAN except for a select few that I have some ACLs for.
My last VLAN is cameras and that's where all of my security cameras and my NVM lives. I also have some servers at a co-location not too far from here and there are three servers that I own and maintain where some of my services are running. After getting a couple hundred thousand visitors on my documentation site, I realized that I probably shouldn't be hosting it at home anymore.
So I moved that service into the co-location. And again, that's running on hardware I own, running services that I maintain, basically like I'm renting power and network. Then I have a VPN connection set up from here to there so I can manage those privately and so I can back things up from here to there.
More to come on that too. The hypervisor that I'm still running is Proxmox, and I don't see that changing anytime soon. I run six Proxmox nodes, so two clusters, three here in my homelab, and then three in my co-location.
Here at home, I have three nodes. You can see here, machine one, two, and three. And each of these has virtual machines and LXCs.
You can see on my first node, I'm running LXC containers. I'm running some virtual machines that run Kubernetes. I'm even running PBS, so Proxmox backup server.
I'm running it as a VM within Proxmox and then backing up Proxmox to NFS. I know, sounds kind of jank, but it works pretty good. But you can see I have a whole bunch of VMs spread across all three of these nodes.
Now, you might be wondering if I'm running HA LXCs or HA virtual machines, and I'm not. I only have these clustered so I can use a single pane of glass to access all of these, and easy migration and easy backup. Now you might be wondering, why don't you do HA LXCs or HA VMs?
Really, I like to push the high availability down further in the stack, and so I try to build that high availability into the services themselves, rather than have Proxmox manage that. Because I want Proxmox to just kind of be a hypervisor, and then I'll add more nodes as I need to, especially with Kubernetes, and if those go down, I'll just spin up a new node and those services will move to new nodes. Anyways, I have lots of virtual machines running in here, some Windows, some Linux, some for Kubernetes, some for just testing, some for Docker only, and some for DNS.
And this is kind of like my test or QA area where I test things out and I decide whether or not I'm going to move them into my other Kubernetes cluster or run them as containers here at home. Here's my Proxmox cluster for my co-location. kind of looks the same.
I have a naming convention. I kind of put all ones in the cluster, in an HA cluster, on the one node and on the two node and on the three node and that's just really for me to keep my sanity and when I schedule reboots or schedule rolling restarts with Ansible, I know that if I take down one, all of the one versions of the nodes will be down. So anyways, you could see here that I'm not running HA LXCs or HA virtual machines.
I'm running multiple nodes and then making those HA. For example, I have Postgres right here, Postgres 1 in an LXC, Postgres 2 in an LXC, and Postgres 3 in an LXC. And these are running in an HA Postgres cluster with Patroni.
The same with Redis, the same with MongoDB, HA Proxy. So if any one of these goes down, the cluster will continue to run. I could take this node down right here and all of these services for the most part will continue to run.
And the same goes with my Kubernetes nodes. I have my etcd and control plane and a worker along with a rancher node here. And then I have the same thing on two and three.
And again I can take any one of these down and my services should for the most part stay up. For storage I'm still using TrueNAS Scale. TrueNAS is kind of the home base for all of my data.
And this year, it also became the home base for a lot of my applications too. You can see I have quite a bit of applications running on TrueNAS. And this year, I decided that TrueNAS is going to be my "home prod" or my "home production" TrueNAS is not only going to be where all of my data lives, but it's also going to be where my internal applications live as well.
As soon as I figured out I could use Docker Compose along with TrueNAS, I decided that this is the way that I wanted to go. And as you can see, I have a lot of applications here that we'll talk about here in a second. And so in a sense, I really built up my all-in-one box to be TrueNAS with a lot of storage, a lot of RAM, and now a lot of applications and a video card.
And now I have a pretty good all-in-one box. One of the biggest reasons why I moved my applications onto TrueNAS was because I wanted ZFS. So now I can manage my application data the same way I'm managing the rest of my data.
snapshots, quick reverts, replicate those snapshots off site, and follow the same practice that I'm already doing with my data. Another reason I wanted to move all of my applications here is so all of these apps access the data locally, not over the network or over NFS and all the headaches that come along with that. They're accessing it on a data set on this same machine.
Then once here, it's running on my fast machine, I get good caching with ZFS, and it's a lot easier to manage. You can see I have a lot of data sets here, one per application. I think in the future I'm going to change this and nest these all inside of another data set so I can have snapshots at the parent data set level and then at the child data set level.
And that will help with replication in the future too. But as it stands now, I can snapshot all of these applications individually, then I can replicate them off-site. Because I have so many data sets and they're not set up the way that I want them, I had to create lots of replication tasks.
And this is going to change in the future. But as it stands now, I have replication tasks for all of those data sets. And then those get pushed to my other TrueNAS box, which we'll talk about here in the future.
So how do we decide between Docker and Kubernetes? Well, I decided that all of my home services are going to be Docker on Compose running on TrueNAS. And then all of my public services are going to be in Kubernetes running in my co-location.
All right, so let's dive into all of these applications. The homepage system that I'm using and still have been using for a long time is Homepage, as you can see here. One of the features I love most about Homepage is that I can configure this whole thing with YAML.
So if you wanted this same exact dashboard, I could send you my YAML and you would have that too. I like to manage most of my stuff in code, you'll see that. But I have made my Homepage a lot easier.
As you can see I'm not doing any uptime checking. I'm not doing any service calls, so I'm not going out to see how many machines I'm blocking or how many VMs are blocking. And really this just became my link page once again.
I do like the idea of these going out and fetching data and lighting up because every time I open a tab and go here, I know if something's wrong, but I decided I didn't want this to be that chatty. So you can see I broke it up into specific sections. So I have hypervisor, DNS, network, containers, monitoring, remote access, storage, media, energy, home automation, AI, documents, tools, database, and then other.
There are some others I'd like to check out in the future, but the last couple of years I've found Homepage to do exactly what I want. Next is Quick Links, and I've kind of lumped this into homepages. Little Link Server is something that I built quite a while ago, and I enjoy it.
It's super simple to use. You can get a webpage that looks almost exactly like this just by configuring environment variables. Again, I like the declarative nature.
And so I wanted to build something that was environment variable only, probably to my demise, to where you can configure this webpage and have it look pretty good. Next is a documentation site and for my documentation site I'm still using Jekyll the static site generator. Most of you have probably seen this before but my blog or my documentation site technotim.
com is built on top of Jekyll. So I write all of my content in markdown and Jekyll along with the Chipry theme convert this to markup and it looks like this. Anyways, I've used Hugo, I've used Eleventy, I've used Jekyll and so many others, but I just settled on this, honestly, because I really like the Chipry theme.
Next is a link shortener, and I still use Shlink. I actually love Shlink, and I have a lot of links that I share where I want to control where that lands, and Shlink is the way that I do it. And honestly, the reason I chose Shlink to begin with is because I really liked the architecture.
He separated frontend, backend, created an API, used Postgres, and even used Redis. When I see thoughtful architecture like that, I know that that person's typically in there for the long run. And so Shlink ended up being the one that I chose.
I honestly think it's the best one out there too. It's really nice. So if you ever need to shorten links or control where links go, Shlink is definitely the way to go.
The next group of applications are applications that are core to my homelab or core to my infrastructure. And they're kind of what I consider platform services. First up is Traefik, my reverse proxy.
I've been using it for many years. It was one of the first applications I did where I configured a reverse proxy with certificates, publicly signed certificates, internal, and I'm still using it today. I have 68 routes here at home, and that's quite a lot of routes.
So Traefik is routing all of my applications with a secure certificate to the proper place within TrueNAS. And I'm also using it as an ingress for all of my applications in Kubernetes. For DNS, I'm still using Pi-hole.
I'm using it here at home and also in my co-location too. At home, I run it inside of a Docker container, an LXC, and also on a Raspberry Pi. And then in my co-location, I run it on two LXCs.
Now we use Pi-hole for the obvious ad blocking, but I also use it for local DNS. Anytime I need to create a CNAME or an A record, I create it within Pi-hole. And you might be wondering, well, doesn't that create a split brain scenario?
You have three Pi-hole instances. The way that I synchronize all of those is through Nebula Sync. Nebula Sync is pretty cool.
it's a container that actually uses the Pi-hole API to sync it across multiple Pi-hole instances. And with Pi-hole, I use Unbound, which is a recursive DNS resolver. Now you might be wondering, well, why do you have three DNS servers if DHCP can only hand out a primary and a secondary?
Well, I use Keepalived, which is kind of like a load balancer or a VIP that's able to fail over if one of the servers are down. So for example, you might have one Pi-hole instance as your primary DNS and then two with a VIP as your secondary DNS. One thing I learned and changed this year was rather than load balance or have a VIP for my secondary DNS, I actually have a VIP for my primary DNS.
Why do you do that? Well, I realized most applications are going to use your primary DNS whenever they can. If that fails, there's a timeout before it will actually try the secondary DNS.
And so if my primary DNS goes down, all of those applications are waiting for the primary to timeout before they'll try the second. And so that slows down DNS resolution for all of those applications, right? Because they're trying to communicate with the first one, even though the first one's down, it has to wait for that timeout before it goes to the second.
Now I know that DNS one or your first DNS is rarely down, but when it is, it's usually because something's wrong. And on top of that, now you have, you know, these timeouts that are going to one and then timing out and going to two. So since most applications prefer the primary, I decided to load balance two DNS servers for the primary.
And then my secondary is just one instance. Next up is monitoring and logging. and this year I decided to take it pretty seriously.
I decided that if I'm going to spin up an application and depend on it in my homelab, the least I can do is set up monitoring and logging and metrics if I can. So that's what I ended up doing. I set up Prometheus, which is metric scraping and a time series database.
And then I also set up Grafana as well with lots of dashboards and soon alerting. So for example, I have dashboards set up for TrueNAS. I even have dashboards set up for my video card, and I just recently set up dashboards for all of my UPSs and their batteries.
For logging, I ended up setting up Loki again, which gives me log storage and ways to query that data. Then I set up Alloy, which is an agent for scraping those logs and getting them into Grafana. And then I use Grafana to be able to see those logs and actually query those logs.
Now it might seem weird to query logs in Grafana, but that's how it works. And it actually turns out pretty nice because I get log metrics as well. And you can see these are all of the logs from all of the containers that I'm running.
The nice part about this is if they're logging to standard out or standard error like most cloud native applications, you'll actually be able to filter on those errors as well. And you can see some of this here. Home Assistant has a lot of warnings right here, and you can see these warnings here as well.
If I wanted to drill into an application, say let's drill into Scrutiny really quick, I can see all of the logs from this container, and I could search for these logs with a string just like any other application. Say I wanted to search for "web", it'll now show me all of the results with "web". But if I want to see logs in real time, I usually use Dozzle to do this.
Dozzle is a fantastic application. I usually install it on every stack that I run, and it just gives me visibility of logs in real time. Say I'm troubleshooting something or a container is flapping or rebooting itself Dozzle's what I use to check those logs.
And if I want to monitor applications or services I use Uptime Kuma. Now I stopped using Uptime Kuma in the past because SQLite database that was included with it would get corrupted all the time. It was just a pain in the butt.
But now with version two, you can actually use a MySQL database on the backend, and that's what I'm doing. So now I think I have, I don't know, 189, almost 200 items in here that it's all tracking and logging and monitoring, and it's been running fine. So it's awesome that they added support for MySQL and MariaDB, and I'm actually using it again because of that.
One of the downsides of running an uptime monitor on the same machine where your services are running is that if that machines down, you have no way to get alerted. So for external checks, I use Uptime Robot. And if it looks familiar, Uptime Kuma was heavily inspired by Uptime Robot.
Uptime Robot has a free plan, works great. The app is really nice too. One thing you might have noticed is that I'm running a lot of exporters.
And an exporter is a way to scrape information to get those metrics to put them inside of Prometheus to then look at them in Grafana. Some applications don't have metrics built in. So I run exporters which can scrape and get those metrics and then put those in a way that Prometheus can understand.
And you can see some of them here. For example, Pi-hole doesn't have metrics built in. So somebody built an exporter which will scrape metrics from Pi-hole, put them in Prometheus, and then I can see them here in Grafana.
Scrutiny is a great application to see disk health and smart trends across all of my hard drives on TrueNAS and really anywhere that you run Scrutiny. Scrutiny is a great way to see the results of smart tests in the past. One other container that I run that might seem kind of silly is I'm actually running nvtop.
And so what this does is give me a way to run nvtop to check my NVIDIA GPU that's running in my TrueNAS server. So rather than SSHing in and running nvtop, you know, I might not have access to SSH at the time. So I just run a little container of nvtop, then I'll go in here and I'll see how my GPU is doing.
And that's helpful for transcoding with Plex or AI with some of the workloads you'll see here. Next is media, and this is a huge category not only for me, but I bet for you too. Now, I run Plex as my primary media server.
That houses my movies, it houses live TV and TV that I've recorded, along with some of my old music. Now, you might have noticed that I'm also running Jellyfin here too, and you can do that too. There's nothing stopping you from running both Plex and Jellyfin if you want to to see how each performs.
So I do run Jellyfin. It's pointed at the same media collection that I have for Plex. So if anything ever happens with Plex and they pull the plug, Jellyfin's ready to go.
Next is a couple of companion apps for Plex. Tautulli is the first one. It gives me Plex stats and activity history.
You know, who's watching what and what I'm watching. Kometa, which is really awesome but also really complicated, kind of hard to explain too, but I kind of think of it like metadata automation. So say for instance you use Trakt or follow someone on Trakt and they have a nice list of movies and say you have some of those movies, you can actually use a Trakt list to create a collection that you can then put all of your movies in.
I know that's kind of complicated but if you don't like the default lists or recommendations that Plex gives you when you open up Plex, Comet is a way to customize and create your own. HandBrake is also something that I run here at home. Gives me transcoding or re-encoding.
If sometimes I need to convert a little video to another format, this is the way that I do it. HD Home Run is also something that I host. Not really hosting it, but it's a device that allows me to stream live TV.
It's a tuner and it connects to an antenna. I only mention that because some of the other things I'm going to mention here tie into this. But this ties into Plex.
This is how I record a lot of live TV and then store it on my Plex and then watch it later. Now I mentioned HD Home Run because HD Home Run gives me live TV and channels within Plex, but something else that can give you channels within Plex is this application called ErsatzTV. Now, ErsatzTV you can think of like virtual TV channels that can push or hook in to say Plex.
Now, I've seen a lot of tutorials on ErsatzTV, but the one that really made me try it out was this tutorial I saw on building your own MTV. And so I created these MTV channels from videos, you know, back from the 1900s where I can see older videos and these stream 24-7. They don't technically stream, but when I go to that channel, they start streaming.
This kind of gives you that old school feeling of MTV when they used to play videos. But you don't have to do videos. I've heard of people streaming Simpsons 24-7 or other TV shows that they have 24-7.
So if you have about a week's worth of spare time, you should check out ErsatzTVbecause it's really fun to play with. So speaking of channels, Dispatcharr is something that kind of aggregates channels. You might be wondering why I'm using Dispatcharr.
Well, a lot of people use it for a lot of different things. but I'm actually consuming my live TV channels from my HD Home Run and then presenting them to Plex. Now, why do I do that?
I only do this because Plex only allows you to have one source or another for live TV. So you got to choose XML or you got to choose, I think, M3U. And you can't have different sources.
Well, ErsatzTV uses XML and my HD home run uses M3U and Plex won't let you have different sources. So really all I'm using Dispatcharr for is XML so I can have two XML sources to present to Plex. I really wish Plex would spend more time on the live TV and the channel section because we have people doing really cool things like this, like ErsatzTV and Dispatcharr, which are kind of emulating this HD home run to bring more live content into Plex.
And I think that's really cool. There are lots of things you can do with Dispatcher. I recommend checking them out.
But for me, all I'm doing is converting my M3U playlist to XML to feed it into Plex. The next section is documents and real-life ops. I kind of bundled these together.
Paperless is pretty cool. Kind of does exactly what it says. If you have some paper and you want to go digital, you need a document management system.
And you also need some kind of OCR to be able to index that document to make it searchable. And that's what paperless does, among other things. So you can upload documents, tag documents, and then index those documents so you can search them.
Now, the OCR on there doesn't work the greatest. And that's where something like Paperless AI comes in. Paperless AI is kind of an add-on for Paperless.
But what it gives you is a local AI engine along with a vision model to actually extract data from the documents a lot better than OCR. And then a couple other things that I bundle in with Paperless that Paperless recommends is Tika, which does text extraction for documents. And then Gotenberg is another one which helps you convert Office and HTML to PDFs to get them then inside of Paperless, which Paperless likes PDFs.
The next section is docs and diagrams, and that's where a lot of my visual tools are that I use. I use Excalidraw a lot, especially like on Zoom meetings when I try to explain something, but I do it visually because I'm a visual learner. This is what I use to do that.
Drw. io actually lets you host their diagramming tool, and this is another one that I self-host. And this is a diagramming tool, a little more structured than Excalidraw.
You know, if I need to show a lot of relationships and less squigglies, I'll end up using Drw. It's great for network diagrams, for sure. Next is Rackula, and Rackula is a pretty cool diagramming tool.
It actually lets you diagram your rack. So if you want to take inventory of your rack or know exactly what fits where or how much space you have left, Rackula is a great way to do that. Next is kind of real-life automation stuff, so kind of workflows, I guess, and content.
The first one is n8n. n8n is an awesome workflow automation. There's tons of integrations.
Think of it like if this, then that, like on steroids and add-on AI and multi-point, you know, conditional checks. n8n is that. So think of anything you want to automate across services without writing code.
n8n is the tool for that. And because it's a low-code, no-code tool, me being a developer, I actually enjoy writing the code to automate a lot of this. So I haven't found a great fit for this yet.
If you have an automation you run in n8n you want to share, let me know in the comments because I would love to see it. Next is Postiz, which is social scheduling or posting automation. So think of it like a scheduler for posting things on social media.
If you're a content creator, you end up cross-posting a lot of your posts across the different social network platforms. Postiz can actually help you with that. You can create one post in Postiz, and then it will go out and post that to all of your social media sites.
or if you just want to schedule one in the future and the platform doesn't allow scheduling, this is a way to do it too. Now, I've only used this once to kind of test it out, but I realized it's not that hard for me to cross post to four or five different social media platforms. If I was a marketer or let's say I was going to be out of town and didn't have access to my phone for whatever reason and I scheduled a video and want to schedule, you know, the social media post around that, this would be a way to do it.
But it seems like a great platform for marketers or a social media team, but not really for me, the individual creator. Next is home automation and security. The home automation platform that I still use is Home Assistant.
It's awesome. Most people have heard about it. But it's really, really complex, and it can be complex to set up.
I will admit that it takes a long time to get things set up and running the way that you want. It could almost be a full-time job if you wanted. But on the flip side, it allows you to control and automate things within your own home that you might not have been to otherwise.
So along with Home Assistant, I'm running MQTT, which is a message bus for IoT devices. I'm also running Zigbee to MQTT, which allows me to use Zigbee devices that communicate over MQTT back to Home Assistant. And then lots of Zigbee devices, lots of IP devices, all that I tie into here in Home Assistant.
Scrypted is a really cool application. you can kind of think of it like either a camera bridge or a full-on NVM for your home security system. Now I use it for a camera bridge and this allows me to bridge my UniFi cameras into HomeKit so that I can use them as if they're HomeKit certified.
Nothing in Protect is compatible with HomeKit and so Scrypted is the bridge that allows me to do that. Such a great application if you need to tie in unsupported devices into HomeKit or Google Home or Alexa. That goes without saying I'm using UniFi Protect for my camera and VR and my home security.
Databasus is its own topic because I use quite a few Databasus across all of my applications. One of the Databasus I use most is Postgres. Postgres is an awesome open source relational database and I use it whenever I can with any application that I can.
MariaDB is another database that I use. It's a MySQL compatible relational database and I use that anywhere I can that supports that type of database when Postgres isn't supported. Valkey is something that I use so if you know Redis, Redis is a cache or a key value store.
It's an in-memory database that's super duper fast because it's all in RAM. Well Valkey is a Redis compatible version of that with better licensing and with all of those Databasus comes a lot of ways to manage them. I like to manage them from the web when I can.
First is Adminer, which is a lightweight database web UI. I actually like this one the most. Super basic, super fast, but it does exactly what I need.
So if you need to manage a MySQL or MariaDB database, Adminer is super awesome in the way to go. phpMyAdmin is a good product. Some people might recommend it, but I like Adminer because it's lightweight and it actually works all the time.
Having some problems getting phpMyAdmin configured in a container, I'm sure it's something I'm doing, but because of that I found Adminer and I'm running that instead. DBGate is another one that I tried out. I actually like DBGate.
It kind of feels like VS Code but for SQL, but it's missing a ton of features like even users. So if you need to connect to a database and just run some SQL, DBGate will work. But if you're going to do that, you might as well use Adminer.
Databasus or Databasus, I'm not sure how you pronounce it, but a really cool web UI to backup and restore your Databasus. And it works with Postgres, MySQL-like Databasus, and even Mongo, and probably one more. Next is AI and local LLMs, because it's 2026 and you have to talk about AI.
Jokes aside, I run Ollama, which helps me manage all of my local LLMs and all of my models. Then I use Open WebUI to connect to Ollama for chatting with local LLMs. Next is Kubernetes and platform operations.
I run three Kubernetes clusters here, and I manage all three of them with Rancher. Think of Rancher like a Kubernetes management UI that can also provision more Kubernetes clusters. And so I run a Rancher cluster which manages two other clusters, so three total.
But I treat the Rancher UI as read-only because I use GitOps. GitOps is a way to define my infrastructure as code and then have that deployed. And Flux is what helps me do that.
Another GitOps tool that helps me is Renovate. And Renovate will help me keep my cluster dependencies up to date. It will open pull requests against my Git repo where I approve them.
And then once merged, they get deployed with Flux. So pretty cool. Something that's more DevOps that I run within my cluster is GitLab runners.
I use GitLab for a lot of my personal code and when I commit that code and push it up I have CI that runs so continuous integration and continuous delivery or deployment some people say. So all automatic. I am using storage beyond the NAS and I use MinIO for S3 compatible object storage.
A lot of my applications that run use object storage either for backing things up or caching things and so MinIO is what I've been using to do that. Now MinIO has stopped developing the open source version of MinIO and so I'm looking for an alternative. Right now it's probably going to be RustFS because it has better licensing and it's more active and being developed.
Being a developer I also run some developer utilities here in my homelab. Code Server is a big one which gives me VS Code in the browser. Now I'm running Code Server in TrueNAS and I have all of my datasets mapped so I can create my compose files for all the applications that run.
This makes it super easy to edit all of my compose files without using SSH or anything like that. If you've ever used VS Code before, it's the same thing but on the web. IT Tools is kind of like a junk drawer, in a good way, of DevOps and developer utilities.
Have you ever needed to parse a JWT token and then you paste it in the web somewhere just to parse it? Or have you used a Base64 encoder or a decoder in the browser? homelab 397 00:32:40,280 --> 00:32:41,640 Probably not the best idea.
IT tools does that and a lot more. And the best thing is self-hosted, so you don't have to worry about anyone grabbing those values from those secrets that you shouldn't be uploading anyways, right? Open Speed Test kind of speaks for itself, but it's a local bandwidth speed test.
Now, you might be wondering, why don't you use one of those public speed tests like fast dot com or something like that? Well, besides privacy, it's nice to be able to test this across different links in my house. Say I wanted to test 2.
5 gigabit or test my tablet with this specific access point. That lets me do it really easily. And privacy.
The next section is a mixed bag of booting and power. I didn't know how to lump these together. But the first one is Netboot.
xyz. You might have seen it. But Netboot.
xyz is a way to network boot to a different operating system using the web if you want. This is really handy if you can't plug in a Ventoy USB disk. Booting to the network and then installing the operating system is super easy with NetbootXYZ.
The nice thing about Netboot being open source is that you can customize that menu and boot from images within your network without using the internet. Nut server or Network UPS tools is something I'm still using to monitor my UPSs. I monitor all three of my UPSs and I can schedule shutdowns, say if the battery gets below a certain point so I don't corrupt any data.
Kind of hard to configure, but really awesome once you do. PeaNUT is something that I started running last year, but it's a web UI for NUT server. Think a bit like a modern way to look at NUT server and data.
One of the things that I wished for last year was that PeaNUT would actually persist its data. Well, that's what I got this year. PeaNUT can now write to InfluxDB or Prometheus.
And I run Prometheus here, so I can scrape that data and then pull it up in Grafana. I think that was a great architecture decision by the developer, PeaNUT, to use InfluxDB or use Prometheus rather than trying to develop your own database solution. Nice work.
So what are you self-hosting right now? And what's the one service you can't live without? And if you're not self-hosting, why?
If I missed something awesome, please leave it in the comments. I'm always looking to add more applications to my homelab. Well, I hope you enjoyed this video.
I'm Tim. Thanks for watching (ASL).