finds.dev← search

// the find

dan-online/autopulse

★ 553 · Rust · MIT · updated Oct 2026

💫 automated lightweight service that updates media servers like Plex and Jellyfin based on notifications from media organizers like Sonarr and Radarr

autopulse is a Rust service that sits between media organizers (Sonarr, Radarr, Lidarr, Readarr) and media servers (Plex, Jellyfin, Emby). It takes the organizer's webhook, rewrites the path, and asks the server to refresh that one item instead of scanning the whole library. It is aimed at people running the Servarr stack over network shares, where filesystem watchers miss events.

- Sends item-level refresh requests to Plex, Jellyfin, and Emby (item-level when refresh_metadata is on) rather than full library scans, so the cost scales with the change instead of the library size.

- Stores every event in SQLite or Postgres. A target that is offline produces a retried event instead of a dropped notification, and the event history can be inspected.

- The optional file-existence check and sha256 hash wait handle the common case where the webhook fires before a post-processing script has finished renaming or remuxing the file.

- Path rewrites run at the trigger and again per target, so a Plex instance that mounts the library at a different path from Sonarr does not need a second copy of the config.

- The default basic-auth credentials are admin/password. The README says to change them, but the UI and API share the same port and the examples use plain http, so an instance that is exposed without changing them is an easy target.

- Configuration is file or environment only. The UI can browse scan events, retry failures, and submit manual scans, but the to-do list shows that adding or viewing triggers, targets, and webhooks in the UI is not done.

- MySQL and MariaDB are not supported. The README says this was dropped over Alpine linking problems, so the choice is SQLite or Postgres, which is fine for a home install but a poor fit if MySQL is already the shared database.

- Hooks (add, found, and processed) are still unchecked, and the move-webhooks-to-hooks and command-hook work has not started. Webhooks are the only notification path today.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →