Included Services
n8n
Workflow automation and orchestration
Redis
Caching and session storage
Uptime Kuma
Service uptime monitoring
Grafana
Metrics visualization and dashboards
Prometheus
Time-series metrics collection
PostgreSQL
Relational database (dependency of n8n)
Skills Provided
n8n Trigger
Capabilities:- Trigger workflows via webhooks
- Orchestrate multi-step automation
- Integrate with 300+ services
- Schedule recurring tasks
- Handle event-driven workflows
Redis Cache
Capabilities:- High-speed caching
- Session storage
- Rate limiting
- Pub/Sub messaging
- Distributed locking
Uptime Kuma Monitor
Capabilities:- HTTP/HTTPS monitoring
- TCP/UDP port checks
- Ping monitoring
- Certificate expiration tracking
- Status page generation
- Multi-channel alerting
Grafana Dashboard
Capabilities:- Create custom dashboards
- Visualize Prometheus metrics
- Set up alerts
- Share dashboards
- Build panels and graphs
Prometheus Query
Capabilities:- Scrape metrics from services
- Time-series data storage
- PromQL queries
- Alerting rules
- Service discovery
Use Cases
Automated Deployments
Trigger deployment workflows:- Code pushed to GitHub
- Webhook triggers n8n workflow
- n8n builds Docker image
- Deploys to production
- Updates Uptime Kuma monitor
- Sends Slack notification
Infrastructure Monitoring
Monitor all services:Incident Response
Automate incident handling:- Uptime Kuma detects service down
- Webhook triggers n8n workflow
- n8n checks Prometheus metrics
- Creates incident ticket
- Alerts on-call engineer
- Logs to PostgreSQL
Performance Optimization
Use Redis for caching:Example Monitoring Workflow
n8n Workflow: Deploy & Notify
Grafana Dashboard JSON
Configuration
Environment Variables
Prometheus Configuration
Exampleprometheus.yml:
Memory Requirements
- n8n: ~512 MB
- PostgreSQL: ~256 MB
- Redis: ~128 MB
- Uptime Kuma: ~256 MB
- Grafana: ~512 MB
- Prometheus: ~1 GB (depends on retention)
Performance Tips
n8n
- Use webhooks instead of polling for real-time events
- Enable workflow caching for repeated executions
- Set execution timeout limits
Redis
- Set appropriate TTLs on all cached data
- Use connection pooling in applications
- Enable persistence if data durability is needed
Prometheus
- Adjust
scrape_intervalbased on needs (15s default) - Set retention period:
--storage.tsdb.retention.time=30d - Use recording rules for expensive queries
Grafana
- Use dashboard variables for reusable queries
- Set reasonable refresh intervals (1m-5m)
- Cache query results when possible
Next Steps
Video Creator Pack
Add video processing capabilities
Services
Explore all available services