A self hosted infrastructure running 24/7 out of my home. I use my home lab to put skills I've learned to use in a pratical setting, and showcase my skills.

I'm planning on running a Windows Server on this build in the future, but for now it's just running a simple Debian server. The main reason I'm documenting this build is to showcase a basic understanding of computer hardware. I feel this build is very simple and easy to follow.

For this build I sourced the mainboard second hand, and salvaged the SSD and RAM out of an old laptop. The main board is a laptop board, so it does use SODIMM RAM. The CPU is also soldered under the fan and heat sink. The SSD is a smaller 30mm SSD, so it's sitting under a metal SSD extender. I also installed a Wi-Fi chip, though it's unusable without an antenna, so I'll be using Ethernet.

After installing all the parts it's placed inside a Framework Laptop 13 Cooler Master Mainboard Case. This case provides easy access to the module slots on the sides, allowing me to install any ports off the Framework website, such as an Ethernet port.

My NAS is the first server I built in my home lab. It's an eight bay NAS with a height of about nine inches. I built the server from scratch. It's built around the chassis, for no particular reason, I just thought the SilverStone CS381 was an interesting looking case. The goal of the NAS was to store my movies and TV so I could digitize my collection of discs.
I wanted to build something quiet enough to run 24/7 inside my apartment. I landed on using an ASRock N100M. The CPU is soldered onto the motherboard and doesn't require a fan for cooling, as it comes with a heatsink.

I sourced all of the drives secondhand. Currently there are 4 x 4TB hard disk drives. They are IronWolf Red drives, and they've given me no problems thus far. The boot drive I'm using is a M.2 NVMe SSD. It's just a cheap 128GB Netac drive I bought secondhand. I also needed an HBA card to connect all the drives, which I bought preconfigured.
TrueNAS Scale is the Linux-based sibling of TrueNAS Core, built on Debian with support for containers and VMs layered on top of ZFS. The installer is straightforward. Boot from USB, point it at a small dedicated OS drive, done. I keep the OS on a separate SSD so the spinning drives are purely for storage.

After install the first order of business is creating a ZFS pool. I went with RAIDz1 across four drives, which is similar to RAID5, it survives a single drive failure without data loss. ZFS handles checksumming and silent corruption detection automatically. Additionally, I’ve created a simple dataset using the TrueNAS GUI, which I’ve turned into an NFS share that’s accessible from my local computer to make data transfer easy.
TrueNAS Scale supports running apps via its built-in catalog. I keep it simple, just a handful of apps that add utility without overloading the machine. Jellyfin is the primary application I run on the NAS. I also run Nginx Proxy Manager so I can access my media when I'm not home. It's configured to a domain I own through Cloudflare, and it's also configured using Cloudflare HTTPS certificates.