My HomeServer Setup in 2024 (Hardware and Software)

My HomeServer Setup in 2024 (Hardware and Software)

Starting with the switch from Raspberry to MiniPC at the beginning of the year, something started to happen. I have made (and will make) many changes to my home IT environment.

First of all, I managed to get an (used) wall rack cabinet for a very low price of only $10. Then I figured, what if I put all the things I need to run my home network and IT infrastructure in this cabinet? So, in this cabinet would go the server itself, the router provided by the ISP, and the PoE switch that provides the network and power for the outdoor camera, among other things.

In the old setup, I connected my router after the service provider's router and it did everything. Since I needed this router as an access point to the upstairs level, I had to simplify the current setup: I need to ask for a new router, the existing one is very unstable if it is not in PPPoE passthrough mode.

Alright, next task: I had to find a suitable place for the rack cabinet in the house. My wife didn't want this one (which is not small, by the way) in a visible place in the house, so I narrowed it down to two places:

Attic or basement.

Attic or basement.
Illustration

There are two problems with the attic:

  • It's too hot in the summer
  • It's very difficult to get up there
  • No power by default

The second is the basement, where there is plenty of space, it is always cool, relatively easy to get down, there is electricity by default, but dusty. As the dust issue is relatively easy to solve, the basement became the HomeServer location.

The next task is to move the service router, currently on the first floor, to the basement, along with the fibre optic cable. After several days of head scratching I figured out where and how the cables should go, where I had to navigate between simplicity and feasibility.

Once I had the perfect route, I called the service provider and the technician who came out was very helpful. Otherwise I could have fixed it myself, but optical cables can only be welded with a special tool, plus while he was here I asked for a new, stronger router (for free, of course).

And how well I did!

After we installed the new router, I checked the WiFi speed with my phone and my chin dropped:

Yes, you can see it very well. I have 1000/1000 Mb/s internet, and I didn't think my phone could handle that speed. Nor did I think my new router would. I was happy as a monkey's tail, and I've been happy with this device ever since.

Let's look at the hardware architecture of the home IT infrastructure. It is not only the server, but also many other devices, so without including them the picture would not be complete.

Architectural design (Hardware part)

I have already written about the home server, you can read the article here.
The whole house network currently looks like this:

The camera is Reolink Duo 2 PoE (article later - let me know if you're interested)

The rack cabinet and my homeserver. What you can see here:

  • The ISP router at the bottom
  • The switch (left side) and the HomeServer (right side)
  • Motion-activated flashing when the door is opened
  • Around the edge dust cover
  • Right back corner of the small wire for grounding
  • Different coloured cables go to each location, making them easy to identify

What is running on my HomeServer? (Software part)

My goals:
- Debian based system
- Run my scripts natively on the machine
- Run Docker based containers
- All this with as little resources as possible

Proxmox is very popular nowadays, but for me it would have been too complicated. In short, I have a Debian-based system running software called Proxmox. Virtualize a Debian on it, put Docker on it and run the containers in it. Overhead everywhere.

Instead, I installed Debian on the machine, partitioned it with LVM for easy resizing later, and did it like this:
- System - 50GB
- Docker volumes - 50GB
- Docker system files - 50GB
- Torrent - The rest, if I need it for the rest, I'll take it from here

I run my scripts on this machine, some of which can be found on my GitHub. I also have scripts for many other things, among others:

  • Healthchecker to check many things on the server after reboot and every hour
  • Automated system updates
  • Backup solution to compress, encrypt, split and upload sensitive data to cloud storage
  • Backup solution to backup the server itself
  • Crypto trader (I spent 3 years writing it, and it can make ~30% profit every 6 months)
  • Domain checker for stolen domains (I would buy it, but for a low price)
  • Automatically downloads movies as they become available that I have previously added to the IMDb watchlist
  • Automatically syncs favourite songs from Youtube to my phone

I am currently running these Docker containers:

If I need a virtual machine, I'll install KVM + Cockpit or Virtualbox + phpVirtualbox, but at the moment I don't need a Windows-based VM. If I need a Linux-based VM, I'll use a Docker container instead.

If you've found this guide valuable and appreciate the time and effort invested in creating it, please consider supporting us through options like free registrations or other no-cost methods. Your acknowledgment of the time spent is a meaningful way to show your gratitude and encourage the creation of more helpful content. Thank you for recognizing the effort put into providing you with valuable information!

Comments