Skip to content
Back to projects

Self-Hosted VPS Infrastructure & CI/CD Deployment

A production Linux VPS hosting personal and web applications — secured with Nginx, SSL/TLS, firewall rules, and SSH hardening, and deployed by an automated CI/CD pipeline that builds, tests, and ships on every push.

Linux Nginx CI/CD Bash SSL/TLS Git
Screenshot of Self-Hosted VPS Infrastructure & CI/CD Deployment

The Problem

I wanted a real place to host my own projects — not a managed platform that hides how things work, but a server I provision, secure, and operate end to end. The goal was a production environment where I own the full stack, from the operating system up to the deployment pipeline, and where shipping a change is a single git push.

My Approach

I provisioned a Linux VPS and treated it like production from day one: least-privilege access, a hardened SSH configuration with key-only authentication, a locked-down firewall, and TLS everywhere. Rather than deploying by hand over SSH each time, I automated the build → test → deploy cycle so that releases are repeatable and low-risk.

Throughout, I leaned on AI coding assistants to generate and debug deployment scripts and server configuration, which sped up setup and cut down on configuration mistakes.

What I Built

Hardened server stack — Full OS configuration and ongoing administration of the VPS, including SSH key hardening, firewall rules, and access management following cloud and security best practices.

Nginx reverse proxy — Routes traffic to the applications running on the box, terminating SSL/TLS with managed certificates so every service is served over HTTPS.

Automated CI/CD pipeline — Builds, tests, and deploys on each code push, removing manual deployment steps and the errors that come with them.

Operations & monitoring — Automated backups and ongoing system monitoring keep the services healthy and recoverable.

What I Learned

Running your own infrastructure forces you to understand every layer — DNS, TLS, reverse proxying, process management, and the security trade-offs at each one. Automating deployment early paid off immediately: once the pipeline existed, iterating on the apps it hosts (including this site) became almost frictionless.