Series Overview
Deploy applications on VPS with Docker: SSL setup, Nginx configuration, Cloudflare Tunnels, container migration, and production-ready patterns.
All Articles in Series

React Vite + Docker + Nginx: Production Deployment Guide
Dockerfile, Nginx config, SSL, and docker-compose for VPS deployment
A step-by-step guide to deploying a React Vite app on a VPS using Docker, NGINX, HTTPS, and Compose—with production-ready asset handling and API proxying.

Docker Certbot Auto-Renewal: SSL Setup with Nginx
Let's Encrypt + Nginx + cron automation in docker-compose

Fix Docker Permission Denied: Volumes, Bind Mounts & CI/CD
Bind mount ownership, USER directive, and CI/CD volume permission fixes

Cloudflare Tunnel + Docker: Expose Containers Without Nginx or Open Ports
Skip Nginx and firewall configs — automatic SSL, DNS routing, and systemd setup
Expose containers like n8n, Grafana, or any Node app to the internet using Cloudflare Tunnel—no Nginx, no DNS hassle, and automatic SSL.

Migrating Docker Containers Between VPS Servers Without Data Loss
Move a Docker Compose stack, persistent volumes, and configuration to a new host without downtime.
Follow a proven Docker migration checklist to archive volumes, transfer backups between VPS servers, and relaunch your stack safely.

How to Self-Host n8n on Your VPS (Simple, Secure, and Production-Ready)
Docker deployment secured with Cloudflare Tunnel, hardened access, and production-ready tweaks
Install n8n on your VPS with Docker, expose it safely through Cloudflare Tunnel, add basic auth, and prep the stack for PostgreSQL when you scale.

Update Docker to Latest Version on Ubuntu
Remove outdated packages, add Docker's official repo, and fix 'client version too old' errors
Complete walkthrough for upgrading Docker on Ubuntu servers and development machines using Docker's official repository for the latest features and security updates.