vijitdua.com/projects/vps-deploy-template · vijitdua.com
Production-ready boilerplate to containerize and deploy any app to a VPS over SSH — with optional Cloudflare Tunnel routing.
Copy the contents of vps-deploy-template/ (.github, Dockerfile, docker-compose.yml) into the root of your application repository, then configure the Dockerfile and compose file for your stack.
- Docker & Docker Compose — normalize runtime; adapt build steps and services for Node, Python, Go, PHP, etc.
- GitHub Actions — build on CI, ship images to your VPS over SSH (no registry required).
- Cloudflare Tunnels (optional) — route traffic without opening 80/443 on the VPS.
- Copy the files into your app repo root.
- Configure the Dockerfile for your language and framework.
- Edit
docker-compose.yml— services, ports, dependencies. - Set Variables and Secrets per the GitHub Actions setup guide.
When you push to your deploy branch (default in the workflow: production):
- GitHub Actions authenticates to your VPS via SSH.
- Your
ENV_FILEsecret is written on the server. - Images are built on the runner, exported, copied to the VPS, and loaded with
docker load. docker-compose up -dreplaces containers with minimal downtime.
See the root README sections in this repo for more detail on each step.
| Branch | Use |
|---|---|
releases |
Production line; default branch |
develop |
Integration; send PRs here |
Listed on vijitdua.com/open-source. See CONTRIBUTING.md.
| Need | Where |
|---|---|
| Bug / feature | GitHub issues — include workflow run URL and logs when reporting deploy bugs |
| Security | SECURITY.md |
| Templates | Issue · PR |
- Project: https://vijitdua.com/projects/vps-deploy-template
- Author: https://vijitdua.com
- Contribute: https://vijitdua.com/open-source/contributing
- Security: https://vijitdua.com/open-source/security