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

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

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

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

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

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