
Home server built with repurposed old laptops. Hosts open-source apps, a minecraft and jellyfin server, and personal projects.
I built the homelab from repurposed laptops and a DigitalOcean VPS. It's exposed securely over Tailscale and Caddy reverse proxy fronted by Cloudflare DNS for public traffic.
I believe the internet should be more than AWS servers talking to each other. I've been infected by the likes of PewDiePie, jvscholz, and my friends to build a homelab setup on Proxmox. I thought it'll be expensive and that I need to buy new hardware, turns out I could just what I already have, so I repurposed them as my homelab server.
Is it worth the time? Not at all, it took too much time to maintain and not to mention the electricity bills, the noise, heat, and also issues with power outagges.
Did I learn anything? Yeah, I learned essential computer networking skills, dealing with annoying CGNAT issues, reverse proxying, containerization and deployment, and dealing with the cable management.
Was it fun? Very fun, it really re-sparked my interest in tech beyond just software. It was one of those things where AI was used more like a tool than a means to an end. Also needed some domain knowledge which meant I could nerd out.
The Specs
The home server is ran on 2 home hardware below, along with a Digital Ocean Droplet:
Acer Nitro 5 AN515-52
- Intel Core i7 8750H
- Nvidia Geforce GTX 1060 6GB
- 32 GB RAM
- 512 GB SSD
Thinkpad X1 Carbon Gen 8
- Intel Core i7-10510U
- 16 GB RAM
- 1 TB SSD
The Setup
Constraints of my setup
- CGNAT router
- Laptops have no batteries - constantly running with no backup power
- CMOS battery issues on X1 Carbon
- Keyboard issues on Acer Nitro 5
High-level Architecture
Responsibilities of each hardware:
- Services requiring high clock speed (Minecraft server, Jellyfin) runs on the Nitro 5
- General purpose services and Portainer runs on X1 Carbon
- Reverse proxy is done with Caddy on the Digital Ocean VPS
- Cloudflare as the DNS provider
Minecraft Server
A Minecraft server is quite cumbersome to set up. I used Crafty Controller as a server orchestrator, which made it easy to spin up multiple Minecraft server instances. The server is connected to the reverse proxy running on my VPS via Tailscale.
Jellyfin Media Server
I use Jellyfin to host medias such as Photos and Videos - it works great. I attempted to host eBooks but it was a hassle, would not recommend Jellyfin for that. I'm also thinking of hosting music but I need to find a better alternative to Jellyfin.
Reverse Proxy
Running on a CGNAT router meant that my public IPv4 address is shared with other people. This meant that I couldn't port forward. The solution I went with is to reverse proxy via Caddy on a VPS that's connected to the home hardware via Tailscale.
Portainer
I thought I needed a GUI tool to help with deployment. Turns out I was battling the UI navigation and Portainer terms more than anything. It did help provide visual aid though.
Documentation
The server is sitting on the corner of my room
