read
These bytes are brought to you in part by...

This little machine may not look like much but it is actually a fairly sophisticated home server that tackles the mundane everyday tasks of keeping my data backed-up and available from everywhere. Built with a mini ATX motherboard housed in an all-aluminum case, this powerful little linux computer runs my personal blog and any other personal web service I may need. I have a second larger USB powered fan underneath the machine to keep the aluminum enclosure cool. All of the services running on it are containerized with docker and can be spun up or down from a remote accessible web interface using Portainer. An nginx-proxy service will detect when I have created a new publicly accessible service and automatically create SSL certificates for the specified subdomain. Another service periodically checks the IP address of the machine and updates the DNS record accordingly so that it is always available from the domain name even if the ISP changes the dynamically assigned IP. There is a single solid state drive for the system OS and two internal hard drive disks for data storage configured as RAID 1 for high availability. An hourly, weekly, and monthly duplicity backup job is run for configured services which stores encrypted differential backups on the external disk for easy recovery as well as pushing them to the cloud for remote redundancy. This follows the well known 3-2-1 backup strategy giving a high level of confidence that in most disaster scenarios, all the data will be recoverable. Daily emails are generated for backups which will alert me if any errors are encountered during a backup job. The server itself is monitored using an external monitoring service so I am alerted if it goes down.

Because the server is running 24/7 with a pretty consistent average load, I can use a Kill A Watt meter to calculate exactly how much energy the system is consuming and how much it costs to run. For example, the meter typically reads around 55 Watts (less than an incandescent light bulb) which converted to kWh, is 0.055 kWh. My energy provider currently charges about 7.11 cents per kWh. So the energy cost per hour is 0.39105 cents which turns out to be around $3 per month. Not bad for an Intel Core i5 machine with 16GB RAM and 2TB storage. And since my energy source comes from renewables, that energy usage is environmentally friendly.

While this is certainly not a production level replacement for a data center or cloud service, it has been an excellent setup for my personal use and costs a fraction of cloud tenancy. The services are also very compartmentalized and portable so as my needs grow, I can always move them over to a more scalable and production suitable platform like AWS or Linode.

Blog Logo

Eli Knebel

I'm a software engineer in the Pittsburgh area, hobbyist maker


Published