How To Host Every App On One $5 VPS (Docker + Cloudflare Tunnel)

You do not need Vercel, Railway, Render, or a separate deployment platform for every small app you put online. In this video, I show the simple pattern I use to run multiple apps on one cheap VPS with Docker Compose and Cloudflare Tunnel. The core idea: Docker Compose runs each app on the server every app binds only to localhost Cloudflare Tunnel exposes the public hostname the VPS does not publish app ports directly to the internet We deploy an app, bind it to 127.0.0.1, create a Cloudflare Tunnel, add ingress rules, route DNS, install cloudflared as a service, then repeat the same pattern for more apps. This is not a magic platform. You still own updates, backups, logs, monitoring, firewall rules, SSH hardening, and recovery. But if you want simple, cheap, understandable infrastructure for small projects, this setup is hard to beat. Commands covered: ssh into a fresh VPS install Docker and Docker Compose write a docker-compose.yml bind ports to 127.0.0.1 install cloudflared create a Cloudflare Tunnel write config.yml ingress rules route DNS with cloudflared install and restart the tunnel service add multiple apps behind one tunnel