monitor-services
Monitors and auto-restarts Pollinations GPU services, ensuring optimal performance and uptime through health checks and automated recovery.
Install this skill
Security score
The monitor-services skill was audited on May 17, 2026 and we found 43 security issues across 3 threat categories, including 4 critical. Review the findings below before installing.
Categories Tested
Security Issues
Curl to non-GitHub URL
| 33 | curl -s --connect-timeout 5 --max-time 10 http://192.222.51.105:8765/health |
Curl to non-GitHub URL
| 66 | curl -s --connect-timeout 5 --max-time 10 http://192.222.51.105:8189/health |
Curl to non-GitHub URL
| 119 | curl -s --connect-timeout 5 --max-time 10 https://lqh6weiexk4sth-8000.proxy.runpod.net/health |
Curl to non-GitHub URL
| 162 | curl -s --connect-timeout 5 --max-time 15 https://hsl3ksl31lvrcc-8765.proxy.runpod.net/generate \ |
Curl to non-GitHub URL
| 170 | curl -s --connect-timeout 5 --max-time 10 https://gen.pollinations.ai/register |
Curl to non-GitHub URL
| 191 | curl -s -X POST "https://api.runpod.io/graphql?api_key=$RUNPOD_TOKEN" -H "Content-Type: application/json" \ |
Curl to non-GitHub URL
| 208 | curl -s --connect-timeout 5 --max-time 10 http://192.222.51.105:8766/health |
Curl to non-GitHub URL
| 214 | ssh -i ~/.ssh/id_rsa_ovh -o ConnectTimeout=5 [email protected] "curl -s http://localhost:16384/register" |
Curl to non-GitHub URL
| 251 | 1. **gen.pollinations.ai registry** - `curl https://gen.pollinations.ai/register` (KV-backed), check worker count and error rates |
Access to hidden dotfiles in home directory
| 89 | | **SSH** | `ssh -i ~/.ssh/id_rsa_ovh [email protected]` | |
Access to hidden dotfiles in home directory
| 94 | ssh -i ~/.ssh/id_rsa_ovh -o ConnectTimeout=5 [email protected] "systemctl is-active image-pollinations" |
Access to hidden dotfiles in home directory
| 100 | ssh -i ~/.ssh/id_rsa_ovh [email protected] "sudo systemctl restart image-pollinations" |
Access to hidden dotfiles in home directory
| 113 | | **SSH** | RunPod relay — interactive only: `ssh <pod-id>-<key-id>@ssh.runpod.io -i ~/.ssh/id_ed25519` (get full command from dashboard "Connect" tab) | |
Access to hidden dotfiles in home directory
| 190 | RUNPOD_TOKEN=$(cat ~/.runpod/config.toml | grep apikey | cut -d\' -f2) |
Access to hidden dotfiles in home directory
| 214 | ssh -i ~/.ssh/id_rsa_ovh -o ConnectTimeout=5 [email protected] "curl -s http://localhost:16384/register" |
Access to hidden dotfiles in home directory
| 236 | ssh -i ~/.ssh/id_rsa_ovh -o ConnectTimeout=5 [email protected] "df -h / | tail -1" |
Access to hidden dotfiles in home directory
| 242 | ssh -i ~/.ssh/id_rsa_ovh [email protected] "sudo truncate -s 0 /var/log/syslog && sudo journalctl --vacuum-size=100M" |
Access to hidden dotfiles in home directory
| 272 | - Klein uses the RunPod relay (`ssh.runpod.io`) with `~/.ssh/id_ed25519` — get the full command from the dashboard "Connect" tab |
Access to hidden dotfiles in home directory
| 274 | - **OVH**: `~/.ssh/id_rsa_ovh` (not in SOPS) |
Access to SSH directory
| 89 | | **SSH** | `ssh -i ~/.ssh/id_rsa_ovh [email protected]` | |
Access to SSH directory
| 94 | ssh -i ~/.ssh/id_rsa_ovh -o ConnectTimeout=5 [email protected] "systemctl is-active image-pollinations" |
Access to SSH directory
| 100 | ssh -i ~/.ssh/id_rsa_ovh [email protected] "sudo systemctl restart image-pollinations" |
Access to SSH directory
| 113 | | **SSH** | RunPod relay — interactive only: `ssh <pod-id>-<key-id>@ssh.runpod.io -i ~/.ssh/id_ed25519` (get full command from dashboard "Connect" tab) | |
Access to SSH directory
| 214 | ssh -i ~/.ssh/id_rsa_ovh -o ConnectTimeout=5 [email protected] "curl -s http://localhost:16384/register" |
Access to SSH directory
| 236 | ssh -i ~/.ssh/id_rsa_ovh -o ConnectTimeout=5 [email protected] "df -h / | tail -1" |
Access to SSH directory
| 242 | ssh -i ~/.ssh/id_rsa_ovh [email protected] "sudo truncate -s 0 /var/log/syslog && sudo journalctl --vacuum-size=100M" |
Access to SSH directory
| 272 | - Klein uses the RunPod relay (`ssh.runpod.io`) with `~/.ssh/id_ed25519` — get the full command from the dashboard "Connect" tab |
Access to SSH directory
| 274 | - **OVH**: `~/.ssh/id_rsa_ovh` (not in SOPS) |
Access to .env file
| 136 | 3. Update `KLEIN_URL` in `gen.pollinations.ai/secrets/prod.vars.json` (sops) and the hardcoded fallback in `fluxKleinModel.ts` to the new `<pod-id>-8000.proxy.runpod.net`. Deploy `.env` to EC2 image s |
External URL reference
| 33 | curl -s --connect-timeout 5 --max-time 10 http://192.222.51.105:8765/health |
External URL reference
| 41 | "https://gen.pollinations.ai/video/health_check_$(date +%s)?model=ltx-2&duration=3&nologo=true" \ |
External URL reference
| 66 | curl -s --connect-timeout 5 --max-time 10 http://192.222.51.105:8189/health |
External URL reference
| 119 | curl -s --connect-timeout 5 --max-time 10 https://lqh6weiexk4sth-8000.proxy.runpod.net/health |
External URL reference
| 155 | | 0 | 8765 | `https://hsl3ksl31lvrcc-8765.proxy.runpod.net` | Flux (INT4) | |
External URL reference
| 156 | | 1 | 8766 | `https://hsl3ksl31lvrcc-8766.proxy.runpod.net` | Flux (INT4) | |
External URL reference
| 157 | | 2 | 8767 | `https://hsl3ksl31lvrcc-8767.proxy.runpod.net` | Z-Image | |
External URL reference
| 158 | | 3 | 8768 | `https://hsl3ksl31lvrcc-8768.proxy.runpod.net` | Z-Image | |
External URL reference
| 162 | curl -s --connect-timeout 5 --max-time 15 https://hsl3ksl31lvrcc-8765.proxy.runpod.net/generate \ |
External URL reference
| 170 | curl -s --connect-timeout 5 --max-time 10 https://gen.pollinations.ai/register |
External URL reference
| 191 | curl -s -X POST "https://api.runpod.io/graphql?api_key=$RUNPOD_TOKEN" -H "Content-Type: application/json" \ |
External URL reference
| 208 | curl -s --connect-timeout 5 --max-time 10 http://192.222.51.105:8766/health |
External URL reference
| 214 | ssh -i ~/.ssh/id_rsa_ovh -o ConnectTimeout=5 [email protected] "curl -s http://localhost:16384/register" |
External URL reference
| 251 | 1. **gen.pollinations.ai registry** - `curl https://gen.pollinations.ai/register` (KV-backed), check worker count and error rates |