Overview
My homeserver is a small-form factor server I built to self-host my networking, storage, and personal services. Before long, I began hosting services for peers and family as well. I designed, manufactured, and assembled the server rack and components myself, primarily using OnShape and my 3d-printer to create custom parts. Here’s what it looks like:
Components
In the rack itself, I have: Motherboard, CPU, RAM, 8x 4TB hard drives, power supply, and a 5 port Ubiquiti switch. The main things I created though are the custom HDD cage and the 3d-printed mounting brackets for the switch and router (WIP).
Software
On the server, I run Proxmox (a hypervisor). In Proxmox, I run multiple virtual machines and containers for various services. I run the hard drives in a ZFS RAID configuration for redundancy, allowing me to lose up to 2 drives without data loss.
Services
I deploy most of my applications using Docker containers, and serve them using Cloudflare Tunnels. By using Cloudflare Tunnels, I can expose my services to the internet without opening any ports on my router, making sure my services are secure by default.
Here are some of the services I run on the server:
- Forgejo: a self-hosted Git platform
- Inventree: an inventory management system used for my FSAE team management
- DFR Wiki: a wiki for Dallas Formula Racing’s electrical systems team (I made it too!)
- PocketID: a self-hosted identity management system
- Media Server: a full stack of media management applications
- and more!
Results
This project has been an excellent lesson in networking and server management. As well, its helped me learn about maintaining uptime and reliability of my services, and get familiar with common CI/CD tools and practices.


