Building a Homelab: From Mini PC to Custom DIY Server – Lessons Learned
How It Started
Recently, I decided to build my own homelab. After watching countless tutorials and videos, I felt confident enough to gather the hardware and install the necessary software.
For starters, I chose a mini PC. Since this was more of an experiment, I wanted something small, quiet, affordable, and capable of handling the basic tasks I needed. I settled on a Beelink Mini S with the N5095 Processor.
I installed Proxmox and set up a few VMs and LXCs that made sense for my needs:
- Plex – for streaming movies and TV shows
- Docker – to host various tools and custom apps
- AdGuard – for ad-blocking and local DNS with custom domain support
- TrueNAS – for a local NAS setup to handle media, backups, etc.
tteck’s proxmox scripts is awesome!
Everything went smoothly—Proxmox worked great, and the mini PC was perfect for this initial experiment. However, as I got more comfortable in the homelab world, I realized it was time to scale up a bit.
TrueNAS on a mini PC with only a single SATA port and an external USB hard drive wasn’t going to cut it long-term. I started looking for better hardware and quickly noticed that many people were repurposing used desktop PCs or servers, while others were taking chances with off-brand motherboards from AliExpress.
As a regular buyer from Chinese e-shops, I found motherboards that looked too good to be true—at least on paper. I ended up purchasing a no-name motherboard with an i3-N305, only to later find out it was made by a brand called CWWK, which I had never heard of.
The Good
The specs were promising and a significant upgrade from the mini PC:
- Intel Alder Lake i3-N305 (3.8GHz)
- DDR5 RAM support up to 5600MHz
- 6 SATA ports, perfect for a proper TrueNAS setup
- 4 Intel 2.5G Ethernet ports, great for a DIY pfSense router
- 2 M.2 NVMe slots, allowing for a fast boot drive and a Coral Edge TPU for Frigate
- Power efficiency with a 15W TDP
Once I received the hardware, the first challenge was finding a suitable case. For some reason, NAS cases that looked good and were compact (like the Fractal Design Node 304) were too expensive for me, and regular ITX cases were just too large.
Luckily, I came across a YouTube creator who designs 3D-printed PC cases, and he had just released a model designed for NAS usage. For just 12 dollars on Printables, and since I already had an Ender 3 and plenty of filament, this was exactly what I needed. The parts were easy to print, fit together well, had good cable management, and offered excellent airflow. The case also looked amazing—one of the best 3D-printed models I’ve ever purchased.
With the case sorted, everything looked great, and it was finally time to install the software and test out this new machine.
The Bad
Noise
From the moment I powered on the machine, the noise was noticeable. It wasn’t jet-engine loud, but for a device running 24/7 just two meters from my desk, it was annoying. While a metal case might have helped with noise reduction, I had to find other solutions.
Replacing the fans: I swapped every fan—from the case fans to the CPU cooler and even the PSU fan (not recommended unless you know what you’re doing!)—with quieter Noctua or Be Quiet equivalents. This helped a lot.
Selecting the right HDDs: Initially, I chose refurbished Seagate IronWolf Pro 4TB drives, which seemed like a great deal. The performance was excellent, but the noise was unbearable. You could hear them spinning from another room, and even on idle, they overpowered all other noises. I returned them and opted for non-Pro IronWolf drives. They weren’t as fast but ran much quieter, which suited my needs perfectly.
Crashes
After resolving the noise issues and installing Proxmox, TrueNAS, and other software, the machine started crashing randomly. The entire server would become unresponsive, preventing access to the web GUI or SSH. The only fix was a hard reboot, which is unacceptable for a system running critical services like a NAS and router.
Upon checking the logs, I noticed random “CPU soft lockups,” likely indicating hardware issues. I was frustrated. I wondered if I had caused thermal issues by replacing the fans, or if Proxmox had a bug, or if the motherboard itself was faulty.
Thankfully, I found a review where someone experienced similar crashes with the same motherboard. A comment suggested that the issue was caused by the RAM frequency being too high. I lowered the frequency to 4800MHz in the BIOS, and the crashes stopped. Since then, the machine has been running smoothly for months.
Here is how I did it
Coil Whine
There was also an annoying buzzing sound near the CPU, likely from some vibrating components on the motherboard. The odd part was that the sound stopped during high CPU usage but was very noticeable when idle.
After trying various BIOS settings, including disabling C-States, I eventually found that disabling CPU turbo boost solved the issue. Somehow turbo boost frequencies were causing coil whine… While disabling turbo boost reduced overall CPU performance, it didn’t matter much for my use case.
Here are the relevant BIOS changes
Conclusion
Overall, this was a challenging experience. The motherboard caused numerous issues, and there was little documentation or support to troubleshoot effectively. Would I recommend this motherboard? Probably not—unless you’re willing to spend time troubleshooting like I did.
Coming from a mini PC that “just worked,” this custom-built machine was a completely different story.
I’m sharing this to help anyone else facing similar issues, and as a reference for myself if the system ever resets to factory defaults or if I decide to go down this path again!
Extra
After getting everything set up, I decided to take it a step further by adding a 7-inch touchscreen monitor to the server. I installed a window manager on the Proxmox distribution and wrote a small script to launch Chromium in kiosk mode at startup. The browser opens directly to Volumio’s web interface, displaying a sleek screen with song info and controls for pausing, skipping tracks, and adjusting the volume!