Hello my name is Steph (stephfrd) and I started making my homelab in early June 2026 and I want to make a documentation of it, because it will help me see how I evolved over time and maybe encourage others to make their own homelab.
The story of the Stephlab
June 2026: I had been running linux on my laptop for 3 months now, and I wanted to make my own homelab so as to increase my knowledge of both networking and cybersecurity. I used an old laptop that had some physical defects, but was okay to run stuff on, downloaded at first Proxmox but I found it too advanced, and finally settled on Debian. I downloaded Homepage, to manage all my services in one place, Navidrome and Plex, for music, shows and movies (media), Tailscale to be able to access said media services remotely and added SFTP(file transfer service). I organised all of this into one homepage.
July 2026: I switched from homepage to dashy, and added PlaylistDL, which is a converter from spotify and youtube to mp3, to ease my navidrome workload and be able to not rely on web services, that are either paid, or limited. I set up my own NAS using File Browser, because I thought it was moderately easy to set up and worked perfectly for I wanted to do. I got NetData to see statistics of both my server laptop, and the main laptop (the one i'm writing this documentation from). Finally, I organised all of this into one big Dashy page. Hardware:
- Server Laptop = as of July 2026, i run all of my services on a 7 year old Acer Aspire A514-54 (V1.26)
Note: Currently on my main laptop, the one I use for this server mainly, I have had Nixos and OpenSUSE along this project and both of them worked very well; I am looking into obtaining a Raspberry PI to be able to make a PiHole!
Software
Operating Systems
| Operating Systems I use | Why I use them; what I think their advantages are |
|---|---|
| Debian GNU/LINUX 13 (Trixie) x86_64 | I use Debian on my Server because I have found that I work better with a GUI and it allows me to do other stuff, besides homelab, and write some things that I should do with the homelab and have my documentation right there! |
| NixOS | NixOS is a declarative Linux Distro that I have used and found it works very good with my homelab(that is not the reason i no longer use it) |
| OpenSUSE Tumbleweed | I used OpenSUSE Tumbleweed on my main laptop for a few weeks and I have found that it works very smooth with my homelab! Definitely recommend! |
| Cachy OS | I have been using CachyOS since July 2026 (Oops distrohopping) and I have had a very smooth experience with the homelab. Yipee! |
Virtualization/Containerization
Docker
Services
| Service I host | What is it and how I use them |
|---|---|
| Tailscale | Tailscale is a Zero-Trust Identity-based platform that reolaces legacy VPNs( and it's free!). It enables encrypted point-to-point connections using the WireGuard protocol and it creates a peer-to-peer mesh network (also known as a tailnet). I personally use it to connect to all my services from other devices, remotely |
| SFTP | SFTP (Secure File Transfer Protocol) is a secure networking protocol used to transfer and manage files between computers over the internet. It's a secure and mdoern replacement for the unencrypted FTP. I use it to send files to other devices in my homelab |
| Filebrowser | Filebrowser provides a file managing interface within a specified directory and i use it to upload my docker files and other files from my server laptop and my main laptop, and it can be accessed from either of them, from anywhere. It's a small step towards implementing a NAS |
| NetData | NetData is an Open Source utility for real-time system and application monitoring and troubleshooting. It delivers detailed, interacting insights into the system's metrics and it allows me to analyze and resolve performance issues. |
| Navidrome | Navidrome is an open source software that allows me to download and own the music that I listen to, from anywhere, for free. |
| PlaylistDL | PlaylistDL is a service I use that allows me to download youtube and spotify music in mp3 format, in order to upload it to my Navidrome account. |
| Plex Media | Plex Media is the Movies and Series version of Navidrome, basically |
| Ad Guard Home | Ad Guard is basically a Pi-hole |
| Homelab Hub | Homelab Hub is a web application for managing and visualizing home lab infrastructure. You can use it to track hardware, virtual machines, applications, storage networks and more. A link to how to set it up is here: "https://github.com/user-attachments/assets/d8ea0bf2-4ecc-4834-8517-baf3af0293b8" |
| AdGuard VPN | I have recently added this to my setup because I needed to download movies |
Some basic definitions and questions I have come across as a newbie when I started out and I wish I knew
-
What is a homelab?
The definition of a lab is a place where you can safely perform experiments. A homelab is basically that! It's a sandbox environment where you can dabble, test and fall in, right in your own home!
-
What operating system do I use?
Linux, because it's free and open-source! okay, now in reality more than half of the servers powering the internet use Linux as their OS. Linux is bloat free and only ships with the necessary software. Many Linux distributions come with server versions, which forego the GUI for just the terminal;
It can be customized endlessly to suit your needs, whether you want a dyi, build-it-yourself system, or a server with all the necessary requirements already installed, the choice is up to you when it comes to Linux.
-
What services do I put onto it?
Besides from what I mentioned I have, there are a lot of things you can put on your homelab! You can put VPNS, private registries, password managers, run your own local AI models, you can track your network traffic and many many more!
-
What is virtualization/containerization?
virtualization= virtualization is a technology that enables the creation of virtual environments (mini-computers) from a single physical machine, allowing for more efficient use of resources by distributing them across computing environments.
it creates an abstraction layer over computer hardware, dividing a single system's components(processors, memory, network and storage) into multiple virtual machines, each running their own operating system and behaves like a separate physical computer, despite sharing the same underlying hardware.
`containerization`=the packaging of software code with just the operating system libraries and dependencies required to run the code to create a single lightweight executable (called a container) that runs consistently on any infrastructure; they're more portable and resource efficient than VMs(virtual machines) and they have become the de facto compute units of modern cloud-native applications
-
What is Docker?
Docker= open-source platform that enables developers to build, deploy, run, update and manage containers -
What is a NAS?
NAS(Network Attached Storage)=a centralized server that allows multiple servers to store and hsare files over a TCP/IP network through Wi-Fi/Ethernet Cable; it provides an affordable and easy-to-maintain network storage option -
What do I need to start a homelab?
According to a lot of people, you need A LOT of stuff. And sure, yes, when you run a lot of services you will need: an UPS(Uninterruptible Power Supply), a rack, cooling fans (maybe cooling should be thought of to begin with, even if you only plan on using a few stuff), routers and switches, servers and of course a lot of cables! However, from my (very little, but trustworthy) experience, if you want a simple homelab, or you want to start and get to know some stuff before you decide if you want to go all in, all you need is a laptop you don't really use, that is functional (or a few virtual machines and your own main laptop, depending on who you ask).
-
What Linux distro should I use for my homelab?
-
debian: debian is famous for its stability, due to its stable release that undergoes an incredibly rigorous testing process; it supports a variety of hardware architectures;
-
openSUSE: openSUSE, through YaST, gives you a clean graphical interface to manage firewalls, user permissions, system services, partition hard drives and manage storage; this makes system administration accesible; OpenSUSE is split in two, Tumbleweed (rolling release, mostly for desktop users), in which you get the absolute latest software and Linux kernels much faster, the moment they're implemented, but with stability, thanks to automated testing, and Leap(fixed release, mostly for servers, enterprise desktops and people who want a very stable operating system); it also has instant system rollbacks, with the btrfs file system being configured by default; this mean that if an update goes wrong, you can reboot your computer and select a prevuous snapshot from the boot menu and roll the system how you wanted it to be, before it broke
-
Fedora: Fedora Server is the traditional Linux Server OS. it comes with a minimal CLI and includes Cockpit; it's best if you want something standard. There is also Fedora CoreOS, which is a container-focused OS. the root filesystem is read-only and everything runs inside a container. it updates itself automatically in the background and rolls back seammlessly if an update fails
-
Proxmox VE: it is considered THE server OS; it's an enterprise level virtualization platform that allows one computer to host a lot of VMs and containers. it has a very nice Web Interface and it includes native, live snapshots and schedules backups; it also allows for very easy hardware passthrough
Bibliography (mainly used for the last segment of this):