INFRASTRUCTURE DIAGRAM
DevOps Pipeline
GitHub → Jenkins CI/CD → Nginx → .NET App → PostgreSQL
Writes .NET code locally and pushes to GitHub main branch
git push origin main
Repository — stores all .NET source code
Webhook fires on every push → triggers Jenkins automatically
DigitalOcean Droplet · Ubuntu 24.04 LTS
1git pull origin main
2dotnet restore
3dotnet build --configuration Release
4dotnet test
5dotnet publish -o /var/www/app
6systemctl restart myapp.service
deploy · restart service
▼
Listens on Port 80 / 443 → forwards to :5000
SSL termination · Serves static files · Rate limiting
ASP.NET Core running via systemd service
Handles API requests · Connects to PostgreSQL on localhost
Port 5432 — bound to localhost, never exposed to internet
Internal access only · Data persistence layer
Request hits yourapp.com → Nginx → .NET → Response
User never directly talks to app server or database
// no kubernetes · no argocd · simple & production-ready