A production-ready GitHub Actions template repo to streamline CI/CD across AI, frontend, backend, and DevOps deployments.
This repo includes YAML-based workflows for:
- π§ AI/ML & Jupyter Notebooks (Python)
- βοΈ Frontend (React/Next.js with Vercel/Netlify)
- π Backend (FastAPI/Node.js with Railway/Render/Heroku)
- π³ Dockerized Microservices
- π GitHub Pages static hosting
- π VPS via SSH + Rsync
- π Scheduled Cron jobs
- π§Ή Auto lint, format, and deploy
.
βββ .github/workflows # All GitHub Actions YAML files
βββ client/ # Frontend (React/Next.js)
βββ server/ # Backend (Node.js / FastAPI)
βββ notebooks/ # AI/ML Jupyter notebooks
βββ public/ # GitHub Pages static files
βββ netlify.toml # Netlify frontend deployment config
βββ railway.json # Railway backend deploy config
βββ render.yaml # Render deploy config
βββ fly.toml # Fly.io app config
βββ Procfile # Heroku deployment file
βββ SUPABASE.md # Supabase integration guide
βββ .env.example # Template for environment variables
βββ docker-compose.yml # Full Docker app setup
βββ README.md # This file
| Secret Name | Purpose |
|---|---|
VERCEL_TOKEN |
Vercel deploy |
VERCEL_PROJECT_ID |
Vercel project |
VERCEL_ORG_ID |
Vercel organization |
RAILWAY_DEPLOY_HOOK |
Railway auto deploy |
RENDER_DEPLOY_KEY |
Render deploy trigger |
HEROKU_API_KEY |
Heroku deploy |
VPS_KEY |
SSH deploy to private VPS |
DOCKER_USERNAME |
Docker Hub login |
DOCKER_PASSWORD |
Docker Hub login |
GITHUB_TOKEN |
Default token for Actions |
| File | Description |
|---|---|
ci-ai.yml |
Convert/test AI notebooks |
ci-frontend.yml |
Build + deploy frontend (Vercel) |
ci-backend.yml |
Test + deploy backend (Railway) |
gh-pages-deploy.yml |
Static site GitHub Pages deploy |
docker-build-push.yml |
Build/push Docker images |
lint-autoformat.yml |
Prettier, ESLint, Black auto format |
weekly-update.yml |
Weekly scheduled cron task |
vps-deploy.yml |
SSH + rsync deploy to VPS |
heroku-deploy.yml |
CI deploy to Heroku |
render-deploy.yml |
CI deploy to Render |
βββββββββββββββ
β GitHub β
β Push PR β
ββββββ¬βββββββββ
β
ββββββββββββββΌβββββββββββββ
β β β
βΌ βΌ βΌ
Frontend Backend AI/DS
(React) (Node/FastAPI) (Notebooks)
β β β
βΌ βΌ βΌ
Vercel / Railway / GitHub Pages
Netlify Render / nbconvert
Heroku
β β
βΌ βΌ
Docker Build & Push (Optional)
β
βΌ
VPS Deploy (via SSH + Rsync)
- Converts Jupyter notebooks β HTML using
nbconvert - Deploys the converted HTML as GitHub Pages docs
- Vercel: Uses
amondnet/vercel-action - Netlify: Uses
netlify.toml - GitHub Pages: Static folder auto-publish
- Railway: Trigger via deploy hook
- Heroku: GitHub Actions deploy via
Procfile - Render: Deploy via API webhook
- VPS: SSH key + Rsync push
- Build and push images for client/server
- Works with Docker Hub or self-hosted registry
Run weekly tasks like sync scripts, dataset updates, backups:
schedule:
- cron: "0 3 * * 0" # Every Sunday 3AM UTCRun Prettier/ESLint (Node) and Black (Python) on every PR or push
- Clone or fork this repo
- Customize your
client/,server/,notebooks/ - Set required secrets in GitHub β Settings β Secrets β Actions
- Push to
main, and workflows will run automatically β
Maintained by @MuhammadTahaNasir β feel free to fork, star β, and contribute.
π¬ Need Render/Netlify/Heroku setup in your real project? Ping me anytime!