Redlib is a self-hosted, privacy-focused frontend for Reddit — a drop-in replacement for the old Libreddit project. It strips tracking, removes JavaScript dependencies, and serves Reddit content through your own infrastructure. But when your Redlib instance goes down, your users are left with a blank page and no indication of when it'll be back.
This tutorial walks you through setting up complete monitoring for your Redlib instance using Vigilmon — free tier, no credit card required.
Why Redlib needs external monitoring
Redlib is stateless and lightweight, but it has failure modes that internal Docker health checks won't catch:
- Reddit API upstream changes — Redlib fetches content from Reddit's JSON API. If Reddit changes rate limits or blocks your instance's IP, Redlib serves errors even though the process is still running
- Memory pressure on small VPS — Redlib is a Rust binary but can still be killed by the OOM killer on constrained hosts, leaving no process to restart it
- SSL certificate expiry — a lapsed certificate breaks the browser-level HTTPS check that privacy-focused users rely on
- Instance availability gaps — if you're running a public instance, users expect a status page to know when you're having issues
External monitoring from Vigilmon catches all of these from the user's perspective, not just the process perspective.
What you'll need
- A running Redlib instance (typically on port 8080 behind a reverse proxy)
- A free Vigilmon account (sign up in under a minute)
Step 1: Verify your Redlib health endpoint
Redlib exposes a /health endpoint that returns HTTP 200 when the service is up. Confirm it's working:
curl -i https://redlib.your-domain.com/health
You should see:
HTTP/2 200
content-type: text/plain
OK
If you're behind nginx or Caddy, make sure your reverse proxy forwards requests to Redlib's port correctly:
location /health {
proxy_pass http://127.0.0.1:8080/health;
proxy_set_header Host $host;
}
The /health endpoint is the primary check Vigilmon will use — it's lightweight and purpose-built for uptime probing.
Step 2: Set up HTTP uptime monitoring in Vigilmon
- Log in to vigilmon.online and go to Monitors → New Monitor
- Choose HTTP / HTTPS as the monitor type
- Set the URL to
https://redlib.your-domain.com/health - Set the check interval to 1 minute
- Under Expected response, configure:
- Status code:
200 - Response body contains:
OK
- Status code:
- Save the monitor
Vigilmon will now probe your /health endpoint from multiple regions every minute. Any timeout, connection refusal, or non-200 response triggers an incident immediately.
Step 3: Add a web UI availability check
The /health endpoint verifies the process is alive, but a second check on the main UI catches rendering failures and upstream Reddit API issues. Add a monitor on the root path:
- Monitors → New Monitor → HTTP / HTTPS
- URL:
https://redlib.your-domain.com/ - Check interval: 5 minutes
- Expected status code:
200 - (Optional) Response body contains:
Redlib— this catches cases where Redlib serves its own HTML but Reddit returns an error page instead of content
This second monitor acts as an end-to-end smoke test for the full request path.
Step 4: Configure SSL certificate monitoring
Redlib's privacy value proposition depends on HTTPS. A lapsed certificate sends users to a browser warning page — exactly the kind of thing that erodes trust for a privacy-focused tool.
- Monitors → New Monitor → SSL Certificate
- Enter your domain:
redlib.your-domain.com - Set alert thresholds:
- Warn at 30 days before expiry
- Critical at 7 days before expiry
- Save the monitor
Vigilmon checks the certificate daily and alerts you well before expiry so you have time to renew through Let's Encrypt or your certificate provider.
Step 5: Set up response time alerting
Redlib's response time is usually under 200ms when Reddit's API is healthy. A spike in response time (above 2–3 seconds) is an early indicator that Reddit is rate-limiting or throttling your instance before it starts returning errors outright.
- Open your existing HTTP monitor for
/health - Go to Settings → Response Time
- Set a response time threshold alert at 2000ms
When the response time exceeds this threshold, Vigilmon fires an alert — giving you early warning before full downtime.
Step 6: Configure alert channels
- Go to Alert Channels → Add Channel
- Choose your preferred channel: Email, Slack, Discord, or Webhook
- Assign the channel to all three monitors (health endpoint, web UI, SSL certificate)
For a public Redlib instance, Discord is a popular choice — many privacy-focused communities already run Discord servers for announcements.
Step 7: Create a public status page
If you operate a public Redlib instance, a status page lets users check availability themselves instead of assuming the service is broken forever.
- Status Pages → New Status Page
- Name it (e.g. "Redlib Status")
- Add monitors: health endpoint check, web UI check
- Publish the page
Share the status page URL in your instance's README or in the community where users discovered your instance.
Monitor summary
| Monitor | Type | Interval | What it catches |
|---------|------|----------|-----------------|
| /health endpoint | HTTP | 1 min | Process crashes, port failures |
| / web UI | HTTP | 5 min | Reddit API failures, rendering errors |
| SSL certificate | SSL | Daily | Certificate expiry |
What's next
- Heartbeat monitoring — if you run a cron job to update Redlib or rotate configuration, add a heartbeat monitor to catch silent cron failures
- Multi-region checks — Vigilmon probes from multiple locations, so you'll know if your instance is regionally unreachable due to routing issues
Get started free at vigilmon.online — no credit card, monitors are live in under a minute.