Beggar Homelab (updating..)

self-quote, “building systems is LEGO for adults”


I built a homelab server at home:


type model
CPU i5-3450
MB ASUS Z77 with PCI-E bifurcation hacking
DRAM 4*8GB DDR3 1600
Storage 2*Optane M10
(from 2TB to 10TB, ~35TB in total)
HBA LSI 2308 SAS (OCP Card)
Network ConnectX®-3: 10 GbE (OCP Card)
RTL8125: 2.5 GbE * 2
RTL8111: 1 GbE
Case $2 case from Recycle Bin
Rack IKEA LACK + 4 homemade casters
OS Ubuntu Server 22 LTS

Most of them are USED products. (CHEAP)

This server hosts a number of services, including:

  • Network-attached Storage
  • clash: networking proxy
  • jellyfin: media streaming
  • transmission: download station
  • home assistant: Open source home automation that puts local control and privacy first
  • pCDN: pay my bill
  • etc: VMs, alist, media encoding/transcoding, …

To ensure enough data reliability, less intrusion, and high flexibility. I used a bunch of open-source tools to manage NAS, including:

  • OpenZFS: a featureful filesystem (CoW, snapshot, RAID, cache…)
  • MergerFS: integrate different file systems to provide a global view
  • BorgBackup: backup data with compression and dedup
  • Open-CAS: the easiest way to deploy cache for block devices
  • hd-idle (Go version): the silver bullet to make idle disks standby
  • scrutiny: monitor SMART info

In conclusion, it can provide a global view among multi-disks for different types of files with different fault-tolerance levels (replication, erasure-coding and snapshot).


    Table of Contents