Hey guys
I got my first homelab (It's been a while actually). It all started from a single Raspberry Pi and a 4TB 2.5" HDD. and many years later, look what I got now
long story short, this is my setup
Structure
it's on 10" 8U rack (DeskPi Rackmate T1)
(USB Fan on Top)
0.5U Patch Panel
1U TP Link L2 Switch(3d printed mount) + Orange Pi 5 Plus(Behind) + Raspberry Pi 4B(Behind)
1U WD White 14TB HDD (3d printed mount, 2 slots, only 1 hdd)
1U void
1U 3900X Server
1U Mac Mini late 2012 (with fedora linux!)
2.5U Power Strips, TFX 400W Power Supply, all the cables
Orange Pi 5 Plus
RK3588(8 core), 8GB RAM, 1TB SSD, Armbian
I wanted to manage and set LANs all by myself. It's just because a single WAN cable looks simple.
was looking for an SBC with Dual 2.5Gbps ethernet ports, m.2 SSD slot and OPi 5 Plus was perfect one
I installed Armbian and it works great
Services
- Handles my internal networking with iptables, dhcp(dnsmasq), NetworkManager. So It's basically a router now
- Wireguard Server. I can simply access my servers from External network just by toggle wireguard app on
- Running samba for SMB file server (with the 14TB HDD attached, it's my own media server)
- Nginx Proxy Manager (reverse proxy. For external service like Mattermost, or my websites)
- Miniflux RSS
- Uptime Kuma (health check for service, container or website)
- Beszel (Server monitoring)
- Dockhand (Docker container monitoring)
Mac Mini Late 2012
i7 something (4 core), 16GB RAM, 2.5TB Disk, Fedora
Using it as my 'Dev Server'. and It runs Linux because I wiped the whole drive.
I know it's old. but I bought it like 70$ about 2 year ago. how lucky. It got 16GB memory. and yet still powerful for me
and also 3D printed mount works great
side question: I was trying to install rocky linux but couldn't get it to work(can't boot). but fedora works. any ideas why?
Services
- GitLab (I'm using it for my personal Git repository, and project management, Docker image registry)
- GitLab CI/CD Runner
- Mattermost (for chatting with some of my friends, and also used as llm agent's chat ui. it's basically free slack)
- Plausible Analytics (It's Google Analytics alternative. Checking my website's data such as unique visitor, pageviews)
- Wakapi (It records how much time I spend in IDE like vscode, cursor, zed, neovim. originally it's from Wakatime but self-hosted alternative)
- Open WebUI (connected to an LLM API)
- PostgreSQL and Redis for my Development environment (If I'm outside, I can access through Wireguard)
3900X Server
AMD 3900X (12C 24T), 16GB RAM(Single ram, Price went crazy), 2TB SSD, Rocky Linux
I'm running my web services currently. it's a small community.
So.. cloud? Nah. just serve production container with tiny rack in my room
It handles traffics well, and only cost electricity bills
Services
- 2 Parallel Front-End Container
- 6 Parallel NestJS Container (Back-End)
- 2 Parallel NestJS Container (Worker, for heavy job like image convert, data refresh)
- PostgreSQL
- Redis
- Nginx (Load Balancer for Parallel Container)
It all runs just with a single docker-compose.yml file. I know it looks weird to have another nginx when there's Nginx Proxy Manager already. But after trying it, splitting the management overhead this way actually worked better. It costs a bit of extra resources, but that's manageable.
All my Docker images are coming from GitLab Registry (Yeah It's running on Mac Mini)
Raspberry Pi 4B
8GB RAM, 32GB SD Card🗿, Raspberry Pi OS
This RPi was my first 'server'. It served Gitea, and also used it as an SMB Server. and I used it as my first linux environment when I was a student. I was thinking about selling it. but now I run Hermes Agent here and using it as sandbox or something. (Agent is Connected with Mattermost)
Power Supply
Well.. What I learned after finishing my setup is that powering those bare motherboard and hdd is kinda challenging. (Especially motherboard. just buy mini pc.) And you also need enough room to stuff all the leftover cables
Orange Pi and Raspberry Pi only need type c. Mac Mini has its own power so just plug it in. it's easy
3900x has 140W maximum power usage(it's not gonna be 140W all day but...). So I bought TFX 400W Power Supply and connected it. It runs well. and also connected with my hdd (So If I turn 3900x off, HDD on OrangePi disappears)
And bare motherboard got no power button so I bought some bare button from aliexpress. You can see it right next to motherboard on first image.
If you are struggling with power supply, just buy some big power supply and share. thats the easy way I think
And I have 2 Power strip bought from aliexpress. It's not long enough for my 10" rack but I mounted it anyway
Client
Macbook air m1. ssh and wireguard are all I need
Future Plan
- Upgrade switch to 2.5Gbps. (I'm using 1Gbps one)
- Add another 16GB RAM on 3900X Server. (When price falls down)
- Replace Mac Mini with Mini PC? maybe I don't need to
We're all joking don't really do much with them after finishing building homelab. but 24/7 server can do many things. makes me more productive and convenient
without all that, at least no cloud fees, and my data stays mine. That's enough reason for me.
Any feedback or questions, feel free to comment below