@saeris/plex-monitor
v1.1.0
Published
Plex webhook service that sends Discord notifications for new library additions
Maintainers
Readme
📺 Plex Monitor
Listens for Plex webhooks and posts richly formatted notifications to Discord when new movies or TV shows are added to your library.
📦 Installation
Global (npm)
npm install -g @saeris/plex-monitorAfter installing, run the setup wizard:
plxm installSingle-file executable
Download the binary for your platform from the latest release, then run:
./plxm installAvailable targets: plxm-linux-x64, plxm-linux-arm64, plxm-darwin-x64, plxm-darwin-arm64, plxm-win-x64.exe
🔧 Usage
plxm [command] [options]
Commands:
install Copy binary to PATH, register autostart service, run init if needed
uninstall Stop and remove the autostart service
upgrade Download the latest release and restart the service
init Interactive configuration wizard
config [options] Update configuration values non-interactively
stop Stop a running background server
Options:
-h, --help Show help
-v, --version Show version
-d, --detach Start the server in the background (no subcommand only)
Run `plxm help <command>` for command-specific help.First-time setup
plxm install handles the full onboarding:
- Copies the binary to
~/.local/bin(Linux/macOS) or%LOCALAPPDATA%\Programs\plxm(Windows) and adds it to your PATH - Registers an autostart service so the server starts on login
- Runs
plxm initif no config file exists yet
Running the server
Start in the foreground (stays attached to the terminal):
plxmStart in the background (detached, survives closing the terminal):
plxm --detachStop a background server:
plxm stopIf a server is already running, plxm will report its endpoint and exit rather than starting a second instance.
Configuration
plxm init is an interactive wizard that configures:
- TMDB API key — fetches poster images, runtime, director, genres, and trailer links. Get one free at TMDB.
- Discord webhook URL — the channel where notifications are posted. Create one under Server Settings → Integrations → Webhooks → New Webhook. See Discord's guide.
- Port — the local port the webhook server listens on (default:
7539). Press Enter to accept the default.
To update individual values non-interactively:
plxm config --tmdb-api-key <key>
plxm config --discord-webhook-url <url>
plxm config --port 7539Config is stored at ~/.plex-monitor.config.json.
Plex webhook setup
Once the server is running, point Plex at it:
- Open Plex Web → Settings → Account → Webhooks
- Click Add Webhook
- Enter
http://<your-machine-ip>:<port>/(e.g.http://192.168.1.10:7539/) - Save
[!NOTE] The machine running
plxmmust be reachable from your Plex Media Server. If both run on the same machine,http://localhost:7539/works. On a separate machine on the same network, use its LAN IP address.
💬 Message Examples
New Movie
New Movie added in Films
Dune: Part One (2021) Runtime: 2hr 35min Genres: Adventure, Drama, Science Fiction Directed by: Denis Villeneuve
Paul Atreides, a brilliant and gifted young man born into a great destiny beyond his understanding, must travel to the most dangerous planet in the universe to ensure the future of his family and his people.
-# Added to GlaDOS on October 22, 2021
New TV Series
New TV Series added in Anime
Frieren: Beyond Journey's End (2023) Seasons: 1 | Episodes: 28 Genres: Adventure, Animation, Fantasy Created by: Kanehito Yamada
Elf mage Frieren and her fellow adventurers have defeated the Demon King and brought peace to the land. But Frieren will long outlive the rest of her former party. How will she come to understand what life means to the people around her?
-# Added to GlaDOS on March 25, 2024
⚙️ Configuration reference
| Key | Description | Required |
| ------------------- | ---------------------------------------------------- | -------- |
| tmdbApiKey | TMDB API key for metadata & posters | Yes |
| discordWebhookUrl | Discord webhook URL | Yes |
| port | Port for the local webhook server (default: 7539) | Yes |
Supported media types
| Type | Supported | | ---------- | :-------: | | Movies | ✔ | | TV Series | ✔ | | TV Seasons | ➖ | | Episodes | ❌ |
Season and episode events are intentionally ignored — series-level notifications cover new additions without the noise.
🥂 License
Released under the MIT license © Drake Costa.
