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

  1. Use subdomains for better organization:

    api.myproject.ngrok.io
    admin.myproject.ngrok.io
    
  2. Environment-specific configs:

    docker compose -f docker-compose.yml -f docker-compose.dev.yml up
    
  3. 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"