HomeAboutProjectsContact



Logo.Server Hardware
SpecificationDetails
Operating SystemDebian Linux (Unstable)
ProcessorIntel Xeon E3-1240 v5
RAM32GB DDR4 @ 2133 MHz
GPU 1Intel Arc A310
GPU 2Nvidia Tesla K80
Boot DriveCrucial 512GB NVME
Storage2x Seagate IronWolf 8TB @ 7200 RPM
Above are my current server's hardware (The one hosting this website!). Budget was my priority when building this machine. For the base, I purchased the PC for $50 from my school's liquidation sale. The system came with the CPU, RAM, Motherboard, PSU, and case, which meant I only had to supply storage. I was happy to find the motherboard had an NVMe slot, which meant I could put in my 512 GB SSD from an old laptop. For actual storage I went with two Seagate IronWolf 8TB HDDs, mostly because they were on sale at MicroCenter.

As for the GPUs, I first put in an Intel Arc GPU for hardware video transcoding. This way I could stream videos at lower resolutions to help with bandwidth usage. This is especially helpful when I want to share videos from events with family. For the price, it does a fantastic job. It was the cheapest GPU with H.265 support at the time I put it in. Later on, I wanted a GPU for AI acceleration and I found that old Nvidia work station cards were bargins for that task. I ended up with an Nvidia Tesla K80 which works well for training small models and running LLMs with Ollama.
ConfigurationI configured my server to be modular and easy to move if needed. All my services are run in Docker containers, with their respective compose configurations organized in a subset of folders. This proved handy when I decided to switch from Ubuntu Server to Debian. I was able to get my server up and running in under two hours.

Currently I'm running Debian Unstable as the Stable release kernel is too old to support my Arc GPU. I'm using Nginx to route traffic through subdomains for each service. Nginx also takes care of HTTPS encryption through the Let's Encrypt plugin. My domain name is pointing to a digital ocean droplet which routes all traffic through an OpenVPN connection to my home server.

As far as storage configuration, I installed Linux to the SSD. The docker container executable and database files are also stored on the SSD for better performance, and my HDDs are only used for file storage.
Data RedundancyCurrently I am using ZFS to create a Raid 1 Array with my two hard drives in my server. This means the drives are mirrored, so if one were to fail I still have all my data. On top of this, I use ZFS snapshots for off-site backups. I have a cronjob configured to automatically send a new snapshot to my off-site computer and delete the old one.