Home Server Setup

My server is an example of who I am. It is one of my most important ongoing projects. I constantly try, learn and correct concepts and ideas with my server as you will see in the following:

Summary of Technologies Used:

  • SSL Certificates
  • Ubuntu Server
  • Apache2
  • Systemd
  • PHP
  • MariaDB
  • Digital Ocean
  • Cloud Providers
  • UFW
  • HTML
  • CSS
  • DDoS Protection
  • Dynamic DNS
  • Docker
  • GitLab
  • GitLab Runners
  • pfSense
  • Battery Backups

Dec 2019

PlaceHolder

When COVID-19 started, I decided to build a server to experiment with Linux and Deployment. I wanted a place where I could show people my work! A dedicated server!

To start, I deployed NextCloud, a file sharing server. Problem: Could not create SSL certs for a local IP as it wasn't reachable by local cert authorities.

  • SSL Certificates
  • Ubuntu Server
  • Apache2
  • Systemd
  • PHP
  • MariaDB

2021

PlaceHolder

About 1 year later, I thought hosting at home was a flop. I recently discovered Google Cloud Platform and found Digital Ocean to be a cheaper alternative. Moved NextCloud to Digital Ocean for $26, now I was able to access my files from inside and outside my network with encryption!

  • Digital Ocean
  • Cloud Providers
  • UFW

Jun 2022

PlaceHolder

Bought a $300 computer to experiment with pfSense, but decided to try my previously flopped deployment with new knowledge! Installed NextCloud and my new personal website! Problem: Same issues, but I figured out that, using a VPN, I am technically always outside my network.

  • HTML
  • CSS

Nov 2022

PlaceHolder

Discovered a router called Ubiquiti ER-X. Though this router has a feature called "NAT reflection" which allows me to connect to my server using my public IP!

Jan 2023

Picture of Home Server

My biggest update yet! Added a pfSense firewall, setup dynamic DNS with Cloudflare.

Upgraded a few parts in the $300 PC and then created a secondary server for development and experimentation. Used Docker Compose to deploy GitLab CE and Docker to deploy GitLab runners on the main server.

During the summer, I experienced some sudden shutdowns due to lighting, and thus to prevent sudden dataloss from brownouts or blackouts, I added a 1500VA battery backup to both servers!

My server is now equiped with many features a typical cloud provider has!

  • DDoS Protection
  • Dynamic DNS
  • Docker
  • GitLab
  • GitLab Runners
  • pfSense
  • Battery Backups