tutorial

Monitoring Stremio Server with Vigilmon

Stremio Server is your self-hosted streaming companion — but addon failures and library sync issues are silent without proper monitoring. Here's how to watch every addon endpoint, the streaming engine, and your HTTPS certificate with Vigilmon.

Running Stremio Server locally gives you full control over your personal streaming setup — synced addons, your own library, and the Stremio protocol running on your hardware. But when Torrentio stops responding, the library sync stalls, or the web UI quietly goes dark, you won't know until playback fails. Vigilmon gives you continuous visibility into every layer of your Stremio Server: the HTTP server itself, each installed addon endpoint, streaming engine health, and TLS certificate expiry.

What You'll Set Up

  • HTTP uptime monitor for the Stremio Server web UI
  • Addon endpoint health checks (/manifest.json and catalog routes)
  • Heartbeat monitors for the streaming engine and library sync service
  • SSL/TLS certificate expiry alerts
  • Alert channels with sensible thresholds

Prerequisites

  • Stremio Server running (Node.js, default port 11470)
  • At least one addon installed (Torrentio, Cinemeta, or similar)
  • A free Vigilmon account

Step 1: Monitor the Stremio Server HTTP Endpoint

Stremio Server exposes an HTTP server on port 11470. The root endpoint returns a JSON response when the server is healthy. Add this as your primary monitor:

  1. Log in to vigilmon.online and click Add Monitor.
  2. Set Type to HTTP / HTTPS.
  3. Enter: http://your-server-ip:11470/
  4. Set Check interval to 1 minute.
  5. Set Expected HTTP status to 200.
  6. Click Save.

If you've placed Stremio Server behind a reverse proxy (nginx, Caddy) with HTTPS, use the HTTPS URL instead:

https://stremio.yourdomain.com/

The root response confirms the Node.js process is alive and accepting connections. A failure here means the entire server is down — no addon, no streaming, no library sync.


Step 2: Monitor Addon Manifest Endpoints

Each Stremio addon is a REST API. The /manifest.json endpoint is the entry point that Stremio Server queries when loading an addon. If it becomes unreachable, playback for that addon's content fails silently.

For each installed addon, add a separate monitor:

  1. Click Add MonitorHTTP / HTTPS.
  2. Enter the addon's manifest URL. Common examples:
    • Torrentio: https://torrentio.strem.fun/manifest.json
    • Cinemeta: https://v3-cinemeta.strem.io/manifest.json
    • OpenSubtitles: https://opensubtitles-v3.strem.io/manifest.json
  3. Set Check interval to 5 minutes.
  4. Set Expected HTTP status to 200.
  5. Set Expected content to "id" (every valid manifest contains the id field).
  6. Click Save.

For self-hosted addons running locally, use the local URL:

http://localhost:7000/manifest.json

Repeat for every addon you rely on. Addon failures are usually transient — set Consecutive failures before alert to 3 to avoid noise from brief API hiccups.


Step 3: Monitor Addon Catalog Endpoints

Beyond manifests, catalog endpoints (/catalog/...) are what Stremio queries for browsable content. A catalog that times out degrades the browsing experience even when the manifest loads fine.

Add a catalog check for your primary addon:

  1. Click Add MonitorHTTP / HTTPS.
  2. Enter a catalog URL. For Cinemeta:
    https://v3-cinemeta.strem.io/catalog/movie/top.json
    
    For Torrentio:
    https://torrentio.strem.fun/stream/movie/tt0120737.json
    
  3. Set Check interval to 5 minutes.
  4. Set Response time threshold to 5000 ms — catalog endpoints that take longer than 5 seconds will degrade the UI.
  5. Click Save.

Catalog monitors tell you when an addon is technically alive but responding too slowly to be useful.


Step 4: Monitor Web UI Availability

Stremio Server includes a web UI accessible in the browser. If you use it directly (or expose it to your local network), add a dedicated monitor for the UI route:

  1. Click Add MonitorHTTP / HTTPS.
  2. Enter: http://your-server-ip:11470/ (or your reverse-proxy HTTPS URL)
  3. Enable Expected content match and check for the string Stremio or html.
  4. Set Check interval to 2 minutes.
  5. Click Save.

This is distinct from the API availability check — content matching ensures the UI assets are being served, not just that the port is open.


Step 5: Heartbeat for the Streaming Engine

Stremio Server's torrent streaming engine (DHT/WebTorrent) is the core of streaming addon playback. It doesn't expose a dedicated health endpoint, but you can wire a heartbeat using a lightweight wrapper script.

Create a heartbeat check script at /opt/stremio/health-ping.sh:

#!/bin/bash
# Ping the Stremio local server and forward heartbeat if healthy
RESPONSE=$(curl -s -o /dev/null -w "%{http_code}" http://localhost:11470/)
if [ "$RESPONSE" = "200" ]; then
  curl -s "https://vigilmon.online/heartbeat/YOUR_HEARTBEAT_TOKEN" > /dev/null
fi

Add it to cron to run every 5 minutes:

*/5 * * * * /opt/stremio/health-ping.sh

In Vigilmon:

  1. Click Add MonitorCron Heartbeat.
  2. Set Expected interval to 5 minutes.
  3. Copy the heartbeat URL and paste it into the script above.
  4. Click Save.

If Stremio Server crashes between cron runs, the heartbeat stops arriving and Vigilmon alerts you.


Step 6: Heartbeat for Library Sync

Stremio Server synchronizes your personal library (watchlists, continue watching) in the background. If the sync stalls, your library state drifts silently.

Extend the heartbeat script to also check for a recent library sync log entry:

#!/bin/bash
RESPONSE=$(curl -s -o /dev/null -w "%{http_code}" http://localhost:11470/)
LAST_SYNC=$(find /home/user/.stremio-server -name "*.json" -newer /tmp/stremio-last-check 2>/dev/null | wc -l)

if [ "$RESPONSE" = "200" ] && [ "$LAST_SYNC" -gt "0" ]; then
  curl -s "https://vigilmon.online/heartbeat/YOUR_LIBRARY_HEARTBEAT_TOKEN" > /dev/null
  touch /tmp/stremio-last-check
fi

Adjust the path to match your Stremio Server data directory. Set the Vigilmon heartbeat interval to 60 minutes — if no sync activity is detected within an hour, you'll be alerted.


Step 7: SSL/TLS Certificate Expiry Monitoring

If Stremio Server sits behind a reverse proxy with a TLS certificate, add certificate expiry monitoring:

  1. Open the HTTPS monitor created in Step 1.
  2. Scroll to the SSL section.
  3. Enable Monitor SSL certificate.
  4. Set Alert when certificate expires in less than 21 days.
  5. Click Save.

A 21-day window gives you time to investigate and renew before Stremio clients start rejecting the connection.


Step 8: Configure Alert Channels

  1. Go to Alert Channels in Vigilmon and connect Slack, email, or a webhook.
  2. For the main server monitor: set Consecutive failures before alert to 2 (single probe blips are common with Node.js).
  3. For addon monitors: set Consecutive failures before alert to 3 (addon APIs have occasional flakiness).
  4. Enable Recovery alerts so you know when a flapping addon stabilizes.

Summary

| Monitor | Target | What It Catches | |---|---|---| | HTTP server | http://server:11470/ | Node.js process down | | Addon manifest | /manifest.json per addon | Addon API unreachable | | Addon catalog | /catalog/... per addon | Slow or broken content browsing | | Web UI | UI route with content match | Asset serving failure | | Streaming heartbeat | Cron heartbeat every 5 min | Streaming engine crash | | Library sync heartbeat | Cron heartbeat every 60 min | Sync stall | | SSL certificate | HTTPS reverse-proxy URL | Certificate expiry |

Stremio Server hands you a private streaming stack — but private infrastructure means private responsibility for uptime. With Vigilmon polling every addon endpoint, heartbeating the streaming engine, and watching your TLS certificate, you get the same confidence that managed services charge extra for, running on hardware you control.

Monitor your app with Vigilmon

Free plan — 5 monitors, no credit card required. Up and running in 60 seconds.

Start free →