Home > Home Server

Building the server

I began building my home server a few years ago after watching YouTube videos on self-hosting. At the time, my networking experience was limited to port-forwarding for a Minecraft server, but as a PC enthusiast with spare computer parts, I decided to assemble a server of my own to experiment and learn.

Built server

Setting up my first applications required extensive research and hands-on problem solving. I spent entire evenings reading technical documentation and forum posts, learning to configure firewalls, manage DNS, implement reverse proxies, and troubleshoot networking and application issues. The process, although time-consuming, was immensely rewarding and sparked a deep passion for systems administration and self-hosting.

As my collection of applications grew, managing them directly on the host system became increasingly complex and error-prone. I researched containerization and taught myself Docker, migrating all applications into containers. This improved system organization, simplified updates, and allowed me to scale more efficiently. I also prioritized security from the start, carefully evaluating which ports to expose and forwarding only what was necessary, while implementing protective measures such as reverse proxies and fail2ban to safeguard the server from attacks.

Power meter

Over time, my server began serving more than just my own needs. Friends and family started relying on it for media access, which added a layer of responsibility and motivated me to ensure uptime and reliability. I upgraded my storage from a few terabytes to nearly 50TB and implemented RAID for redundancy. Additionally, I replaced a power-hungry graphics card with a more efficient integrated GPU, cutting electricity usage nearly in half while future-proofing storage capacity.

Since these upgrades, my focus has shifted to expanding capabilities, experimenting with popular applications, and maintaining the server’s stability and security. This project has been an ongoing, hands-on education in networking, system administration, security, and containerization. Through this project, I have developed hands-on experience in managing complex systems, strengthened my technical skills, and cultivated a proactive approach to independent learning, which I continue to use today.