title: "Audiobookshelf Monitoring with Vigilmon: Uptime, Health Checks & SSL Alerts" published: false description: Monitor your self-hosted Audiobookshelf server with Vigilmon -- track the /healthcheck endpoint, web UI availability, API endpoint health, SSL certificate expiry, and library availability. tags: audiobookshelf, audiobooks, podcasts, self-hosted, monitoring cover_image:
Audiobookshelf keeps your audiobook and podcast library at your fingertips -- on your commute, during your workout, and before bed. When it goes down, your progress syncs fail, downloads stop, and your listening habit is interrupted until someone notices and investigates. If that someone is you, you want to know the moment it happens, not when you try to pick up where you left off.
Vigilmon monitors your self-hosted Audiobookshelf instance from outside your network -- checking the health endpoint, web UI, API, SSL certificate, and library availability without any agents or plugins required.
What You'll Build
- A Vigilmon HTTP monitor on the
/healthcheckendpoint - A web UI availability monitor with keyword verification
- An API endpoint check for authenticated library access
- SSL certificate expiry alerts
- Alert channels for immediate downtime notification
Prerequisites
- A running Audiobookshelf instance (typically on port 13378 behind a reverse proxy)
- A free account at vigilmon.online
Step 1: Monitor the /healthcheck Endpoint
Audiobookshelf exposes a dedicated health endpoint at /healthcheck. It is unauthenticated, lightweight, and returns a 200 OK response when the server is operational.
Test it from your terminal:
bash curl https://abs.yourdomain.com/healthcheck
Expected response:
json {"success":true}
This endpoint confirms that the Audiobookshelf Node.js process is running, the HTTP stack is accepting connections, and basic server initialization has completed. A crashed process, out-of-memory kill, or failed startup returns a connection error.
Set up the Vigilmon monitor:
- Log in to Vigilmon and click New Monitor -> HTTP.
- Set URL to
https://abs.yourdomain.com/healthcheck. - Set Check interval to 60 seconds.
- Set Expected status code to
200. - Under Advanced -> Keyword check:
- Keyword present:
success
- Keyword present:
- Save the monitor.
Vigilmon now polls your Audiobookshelf health endpoint every minute from multiple geographic regions.
Step 2: Monitor Web UI Availability
The web UI is served separately from the API backend. A missing static asset, a broken build, or a reverse proxy routing issue can leave the backend healthy while users see a blank page or a 502.
Add a keyword monitor on the web interface:
- Click New Monitor -> HTTP in Vigilmon.
- Set URL to
https://abs.yourdomain.com(your Audiobookshelf homepage). - Set Expected status code to
200. - Under Advanced -> Keyword check:
- Keyword present:
Audiobookshelf
- Keyword present:
- Save.
Audiobookshelf's default HTML includes the application name in the page title. If the web app fails to load, this check fails independently of the /healthcheck monitor, helping you isolate whether the issue is the server process or the frontend delivery.
Step 3: Monitor the API Endpoint
The /healthcheck endpoint verifies the server is alive, but does not confirm your library is accessible or the database is responding correctly. Add an authenticated API check for deeper coverage.
Get an API token:
- Open Audiobookshelf, go to Settings -> Users -> click your username.
- Scroll to the API Token section and copy your token.
Set up the API monitor:
- Click New Monitor -> HTTP in Vigilmon.
- Set URL to
https://abs.yourdomain.com/api/libraries. - Under Advanced -> Custom headers, add:
Authorization: Bearer YOUR_API_TOKEN - Set Expected status code to
200. - Under Advanced -> Keyword check:
- Keyword present:
libraries
- Keyword present:
- Save.
The /api/libraries endpoint returns your configured libraries. If the Audiobookshelf database is corrupted, the library directory is unmounted, or the server is in a degraded state, this check fires while /healthcheck may still return 200.
Step 4: Monitor Library Availability
Audiobookshelf stores your media files in mounted directories. A disconnected NFS share, a failed bind mount, or a Docker volume issue can make your library appear empty even when the server runs correctly. The server stays up; your audiobooks disappear.
Verify content is accessible using the library items endpoint:
- Find a library ID from your
/api/librariesresponse:bash curl -H "Authorization: Bearer YOUR_TOKEN" https://abs.yourdomain.com/api/libraries - Click New Monitor -> HTTP in Vigilmon.
- Set URL to
https://abs.yourdomain.com/api/libraries/YOUR_LIBRARY_ID/items?limit=1. - Add the
Authorization: Bearer YOUR_TOKENheader. - Expected status code:
200. - Keyword present:
results. - Save.
This monitor fires when your storage is disconnected but the server is still running -- one of the trickiest failure modes to catch without specific library-level checks.
Step 5: SSL Certificate Monitoring
Audiobookshelf clients -- the iOS and Android apps -- enforce strict HTTPS certificate validation for remote connections. An expired certificate locks out every mobile user, even if the web UI remains accessible from a browser that bypasses the warning.
Configure SSL expiry alerts in Vigilmon:
- Open any of your HTTPS Audiobookshelf monitors.
- Navigate to Settings -> SSL.
- Enable Alert when certificate expires within 14 days.
- Optionally enable 30-day early warning for extra runway before renewal.
A certificate expiry notification:
Warning: abs.yourdomain.com certificate expires in 9 days (2026-07-09) Action required: renew Let's Encrypt certificate
Audiobookshelf mobile apps use HTTPS for all API requests and will fail silently -- showing login errors rather than certificate errors -- when TLS validation fails. Early SSL alerts prevent this class of failure entirely.
Step 6: Configure Alert Channels
Go to Notifications -> New Channel in Vigilmon and configure your preferred delivery:
- Email -- immediate alerts and daily summaries
- Webhook -> Discord -- push to your homelab or personal Discord server
- Webhook -> ntfy.sh -- mobile push notifications without a dedicated app
An Audiobookshelf downtime alert via Discord:
DOWN: abs.yourdomain.com/healthcheck Audiobookshelf server unreachable Status: Connection timeout Region: US-East Started: 2026-03-05 06:14 UTC
Recovery notification:
RECOVERED: abs.yourdomain.com/healthcheck Downtime: 4 minutes
Step 7: Create a Status Page
Go to Status Pages -> New Status Page in Vigilmon. Add all your Audiobookshelf monitors and publish the page. If you share your server with family or friends, the status page gives them a self-service answer to "is the server down?" before they contact you.
What You've Built
| Failure scenario | How Vigilmon catches it |
|---|---|
| Audiobookshelf process crash or OOM kill | /healthcheck returns connection error |
| Reverse proxy (Nginx/Caddy) misconfigured | HTTPS monitor detects 502 or timeout |
| Web UI assets broken after update | Keyword check on homepage fails |
| Database corrupted or inaccessible | API libraries endpoint monitor fires |
| Storage volume disconnected | Library items monitor returns empty/error |
| SSL certificate expired or expiring | SSL expiry alert fires at threshold |
Audiobookshelf is one of the most satisfying self-hosted applications to run -- a private library of audiobooks and podcasts, synced across devices without subscriptions. Keeping it running reliably means watching it from the outside. Vigilmon does that automatically, from multiple regions, with no server-side configuration required.
Start monitoring your Audiobookshelf server today -- register free at vigilmon.online.