Skip to content

VPS Setup & Docker

Infrastructure

Private infrastructure

Overview

This project covers the setup and daily management of a Linux VPS hosting multiple client applications via Docker containers. Each application runs in isolation in its own container, with Nginx as a reverse proxy for traffic management and Let's Encrypt for automatic SSL certificates. GitHub Actions handles the CI/CD pipeline for fully automated deployments on every push to the main branch.

Key Features

  • Docker Compose containerization per client application
  • Nginx reverse proxy with automatic SSL via Let's Encrypt
  • Zero-downtime deployments via GitHub Actions CI/CD
  • Multi-domain hosting on a single server
  • SSH security with key-based authentication
  • Centralized logging and monitoring
  • Automated backups via scheduled scripts

Challenge

Reliably hosting multiple client websites on a single VPS, with zero-downtime deployments, automatic SSL renewal, and easy scalable maintenance - without the cost of managed hosting.

Solution

Docker Compose for containerization and complete isolation per application, Nginx as a reverse proxy with SSL termination via Certbot, and GitHub Actions for automated build-and-deploy pipelines after every commit.

Status

Private infrastructure

My Role

DevOps Engineer & System Administrator

Technologies

  • Docker
  • Linux
  • Nginx
  • GitHub Actions
  • SSH