VPS Setup & Docker
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 infrastructureMy Role
DevOps Engineer & System Administrator
Technologies
- Docker
- Linux
- Nginx
- GitHub Actions
- SSH