Linux VPS Infrastructure | Docker, VPN & Monitoring
Overview
I designed and deployed a self-managed Ubuntu Linux VPS environment to host applications, automate workflows, and monitor infrastructure availability.
The system combines Docker containers, PostgreSQL, Caddy with HTTPS, WireGuard VPN, Prometheus, Grafana, and automated alerts through email and Pushover.
I also implemented scheduled off-site backups using Backblaze B2.
This hands-on project demonstrates my ability to deploy, configure, secure, troubleshoot, and maintain Linux server infrastructure, including remote network connectivity and centralized monitoring.
Challenge
The main challenge was to build a reliable, secure, and self-managed infrastructure capable of hosting multiple applications while maintaining visibility into server performance and network availability.
The environment needed to address several requirements:
Run multiple applications and services without configuration conflicts.
Provide secure HTTPS access to hosted applications.
Establish secure connectivity between a remote VPS and a home network without a public IP address.
Detect Internet outages and infrastructure problems automatically.
Send timely notifications when services or connectivity failed.
Protect important configurations and application data through scheduled off-site backups.
The goal was to create an integrated solution using cost-effective, open-source technologies wherever practical.
Solution
I designed and implemented a complete Linux-based infrastructure solution integrating application hosting, secure networking, monitoring, alerting, and automated backups.
1. Linux VPS and Docker Infrastructure
Configured an Ubuntu VPS to host multiple applications using Docker Compose, including n8n, PostgreSQL, Prometheus, Grafana, Node Exporter, and cAdvisor.
Implemented Caddy as a reverse proxy to provide secure HTTPS access to hosted services.
2. Secure VPN Connectivity
Deployed WireGuard VPN to establish encrypted connectivity between the VPS and a remote home network behind an ISP connection without a public IP address.
Configured the VPN connection and network equipment to enable secure communication between both environments.
3. Infrastructure Monitoring
Implemented Prometheus and Grafana to monitor server and container performance, including CPU, memory, disk utilization, and service availability.
Developed a custom Bash monitoring service to detect home Internet outages using WireGuard connectivity and export metrics to Prometheus.
4. Automated Alerting
Configured Grafana alert rules to detect infrastructure problems, service failures, and Internet connectivity interruptions.
Integrated email and Pushover notifications to deliver alerts to a mobile device when problems occur and when services recover.
5. Automated Backups
Implemented scheduled backups of application data and critical server configurations using Backblaze B2 cloud storage.
Configured automated backup execution to reduce manual maintenance and improve recoverability.
The project resulted in a functional, self-managed Linux infrastructure environment with secure connectivity, centralized monitoring, automated alerting, and scheduled backups.
Key outcomes:
Containerized Infrastructure: Successfully deployed multiple applications and monitoring services using Docker Compose on an Ubuntu VPS.
Secure Remote Connectivity: Established an encrypted WireGuard VPN connection between the VPS and a home network without a public IP address.
Centralized Monitoring: Created Grafana dashboards displaying server resources, container health, and Internet connectivity status.
Automated Incident Detection: Implemented monitoring to identify Internet outages and infrastructure problems without manual intervention.
Mobile Notifications: Successfully tested email and Pushover alerts, including notifications when monitored services recover.
Backup and Recovery Preparation: Configured scheduled off-site backups to Backblaze B2 and verified that important server configuration files were included.
Professional Value
This project demonstrates practical experience designing, deploying, troubleshooting, and maintaining Linux infrastructure using modern open-source technologies.
The environment combines system administration, networking, observability, automation, and backup management into a single integrated solution.
Project type: Personal infrastructure and technical portfolio project.
Like this project
Posted Oct 26, 2026
Deployed a self-managed Linux VPS for app hosting, secure networking, monitoring, and backups.