Avatar

Caner Derici

Software Engineer

PhD Candidate, Computer Science

Sandy, UT, USA

cderici

caner@dericilab.live


Real-time Status



HomeLab

I started my homelab at the beginning of 2023, and it's been growing and evolving ever since. At first the idea was to play and experiment with various technologies that I've been wanting to learn (e.g. cloud native), then it quickly became a central pillar in our day-to-day digital life, from managing and securing our home network to keeping all our data securely in place, backing up work stuff, and much more.

After I got it up and running, I quickly realized that instead of having one PC that I do everything on, I can have many different computers to work with, all at the same time. Now I have many computers that I work with daily.

Compute

My compute node is a proxmox node running on a Dell PowerEdge R630, 40 Cores, 192GB Ram. Here's a little breakdown of all my compute setup.

  • My main terminal. Physical PC. I don't do any computing on this. It's essentially my interface to everything digital (sometimes physical).
  • My main work hub. Lithium (A linux VM, 24 cores, 128G ram)
  • My research hub. Platinum (A linux VM, 24 cores, 64G ram)
  • My k8s cluster master node. Plutonium (A linux VM, Kubernetes controller, 8 cores, 16G ram)
  • 10 cluster worker nodes. Linux VMs, 8 cores, 16G ram each
  • My laptop. Dell XPS13, intel i7, 32G ram.

If you're interested in the current physical equipment in the lab, check out my kit page for my homelab.

Infra

My infrastructure node is another proxmox node running on a Dell PowerEdge R720, 24 Cores, 128GB Ram. Here's a little breakdown of my infrastructure setup.

  • My TrueNAS is running on titanium (I like naming VMs as chemical elements) with a NextCloud plugin that serves as our daily data handling solution for my wife and me (e.g. document backups, instant camera uploads from phones, etc.). I also put the periodic backups for the VMs into this server.
  • Our home-wide DNS server is a PiHole instance, running on potassium to cache our dns requests to make things more responsive at home, as well as blocking ads globally across the network (I'd advise to spare time for this one if you're married :).
  • Firewall is handled by an OPNSense instance for now, I'm planning on switching to a hardware setup soon.
  • Silicon and nitrogen are serving as our reverse proxies, each running a Traefik instance. Nitrogen is the live reverse proxy, handling requests coming from the internet, and the Silicon is the local reverse proxy, handling internal routing of the services. Both are utilizing Portainer instances to manage docker images, hosting a bunch of small services such as a LittleLink instance to serve dericilab.live, and things like Uptime Kuma for monitoring, which is what serves that live status page you see at the top of this page.

My external DNS is handled by Cloudflare and the SSL certificates are provided by LetsEncrypt, distributed internally by the Traefik instances on nitrogen and silicon, so all the services under the domain "dericilab.live" are legit SSL certified.

Here's the logical layout of the services:


I recently did a network upgrade with Unifi equipments. I set up a Dream Machine SE as the primary router. I turned Google Fiber 2.5Gbit router into just a passthrough modem. I also added a layer 3 Pro Max 24 PoE switch to create some VLANs to isolate IoT devices and cameras etc in my network from the main compute devices. Also the smart Power Distribution Pro became handy, as it constantly monitors the connection and whenever there's a fluctuation in the network or an outage, it automatically restarts the devices I designated (e.g. router, modem etc) to try to re-stabilize the network by itself. So no more waking up to a catastrophy in the mornings.

My future plans include laying down a hardware firewall, as well as adding more compute to form clusters, improving power management (better UPS with more capacity), maybe adding a dedicated separate NAS server. I also need to work a little bit on the cooling. The room is in the basement so I don't have a too big problem there just yet, but we're getting there. I'm thinking installing a split AC to take care of that soon.



Physical Stuff

For the phsyical infrastructure I have a Sysracks 32U rack, a couple of Raspberry Pi's (one of them is periodically talking to Cloudflare for updating our upstream IP for ddns), an APC UPS to keep things alive for a little while to give enough time to shut down the system gracefully in case of power outages. I also hooked it up to the modem and the router to keep the internet alive for as long as possible. This is a good perk of having a UPS since my wife and I both work remotely from home. Our local setups are also hooked up to small UPSes to keep the power setup nice and clean.

Here's the current list of physical gear that I have for the server room: