My Home Lab

R610 example

Project Conception

Building a server for the first time was probably one of the coolest feats I have ever accomplished. I wanted my own development environment where I could do whatever I pleased, as well as host websites and Minecraft servers if I felt like taking a break from work. So I decided to use the Dell R610 to get started. After a two-and-a-half-hour drive to Chapin, I picked up the device and got to work.

Getting this ancient beast to work in the modern age was not an easy task. I was working with an unsupported platform, with drivers and software likely unavailable to the public. Luckily, I was able to get things moving when I discovered custom drivers that an anonymous IT specialist had developed. With that, I successfully connected "JServer" to my LAN and eventually the WAN.

Terminal

Configuration and Environment

When configuring this server, I felt it would be best to set it up with Ubuntu Server, as Linux is one of the most liberating experiences I've had on a computer. A Unix-based server environment felt like the best choice due to my love for Apple's macOS environment, as well as the extensive support Ubuntu Server has for older machines.

For web hosting, I figured that using NGINX and Uvicorn would be the best choice, as NGINX's reverse proxy feature keeps my backend safe and secure from potential attackers. Uvicorn would be the service that supports my APIs due to its ease of use.

My Experience

Developing this server into what it is now was the experience I needed to ultimately choose what I wanted to do in my career. Being able to interact with this complex machine allowed me to truly understand what it takes to keep the lights on on the internet. From getting the server exposed to the internet, to getting my first cron job to automatically run a script, to finally seeing a live website, it was a wild ride through IT and Full Stack development as I now have experience in both networking and building complex software.