Example Use Cases - pratikchaudhari64/personal_devserver GitHub Wiki
Use Cases
Development & Testing
Webhook Development
Test real webhooks without deployment:
location /webhooks/stripe/ {
proxy_pass http://payment_service:4000/;
}
- Stripe payment callbacks
- GitHub CI/CD triggers
- Slack/Discord bots
- SMS/Email service callbacks
Mobile App Backend
# Share with team/testers
ngrok http --domain=api.myapp.ngrok.io 8000
- Test push notifications
- Debug API calls from real devices
- Share dev builds with QA team
Microservices Development
/auth/ → Auth Service:3000
/api/ → Main API:4000
/admin/ → Admin Panel:5000
/metrics/ → Monitoring:9090
Test service communication without Kubernetes complexity.
Showcasing & Demos
Portfolio Projects
location / {
root /portfolio;
}
location /todo-app/ {
proxy_pass http://react_todo:3000/;
}
location /blog-engine/ {
proxy_pass http://nextjs_blog:3001/;
}
One URL for recruiters to see all your work.
Client Presentations
# Morning: Client A demo
docker compose -f client-a.yml up -d
ngrok http 8000
# Afternoon: Client B demo
docker compose -f client-b.yml up -d
Switch between client demos instantly.
Hackathon Setup
services:
frontend:
build: ./frontend
backend:
build: ./backend
ml_model:
build: ./ml-service
database:
image: postgres:15
All team members access the same dev environment.
Learning & Education
Coding Bootcamp
Teacher hosts, students access:
/lesson1/ → HTML basics
/lesson2/ → JavaScript intro
/lesson3/ → React starter
/submissions/ → Student work
Workshop Environment
# Participants access same tools
/jupyter/ → Jupyter notebooks
/dataset/ → Shared data
/docs/ → Workshop materials
Security Training
Safe environment for:
- SQL injection demos
- XSS examples
- Authentication flows
- API security testing
Personal Tools
Home Dashboard
location /home/ {
proxy_pass http://homepage:3000/;
}
location /photos/ {
proxy_pass http://photoprism:2342/;
}
location /media/ {
proxy_pass http://jellyfin:8096/;
}
Access your homelab from anywhere.
Personal API Gateway
/notes/ → Obsidian sync
/calendar/ → CalDAV server
/files/ → Personal cloud
/rss/ → RSS reader
Development Tools
/pgadmin/ → Database UI
/redis/ → Redis Commander
/rabbitmq/ → Message queue UI
/docs/ → API documentation
Advanced Scenarios
AI/ML Demos
services:
llm_chat:
build: ./chatbot
environment:
- OPENAI_API_KEY=${OPENAI_API_KEY}
stable_diffusion:
build: ./image-gen
deploy:
resources:
reservations:
devices:
- capabilities: [gpu]
Share AI projects without GPU cloud costs.
Blockchain Development
/eth-node/ → Local Ethereum node
/explorer/ → Block explorer
/wallet/ → Web3 wallet interface
/contracts/ → Smart contract UI
IoT Gateway
location /sensors/ {
proxy_pass http://mqtt_dashboard:1880/;
}
location /automation/ {
proxy_pass http://home_assistant:8123/;
}
Monitor and control IoT devices remotely.
Quick Templates
SaaS MVP
# Clone template
git clone personal_devserver saas_mvp
cd saas_mvp
# Add your services
- Landing page (Next.js)
- API (FastAPI)
- Admin (React)
- Database (PostgreSQL)
- Cache (Redis)
E-commerce Demo
services:
storefront:
image: wordpress
payment:
build: ./stripe-integration
inventory:
build: ./inventory-api
analytics:
image: plausible/analytics
Game Server Hub
/minecraft/ → MC server admin
/valheim/ → Valheim status
/stats/ → Player statistics
/discord/ → Bot dashboard
Pro Tips
-
Use subdomains for better organization:
api.myproject.ngrok.io admin.myproject.ngrok.io -
Environment-specific configs:
docker compose -f docker-compose.yml -f docker-compose.dev.yml up -
Quick switching between projects:
alias project1="docker compose -p p1 -f p1.yml up -d" alias project2="docker compose -p p2 -f p2.yml up -d"