Skip to content

Pulsarr: Real-time Plex watchlist monitoring and content acquisition tool. Seamlessly sync Plex watchlists with Sonarr and Radarr, featuring intelligent predicated content routing, multi-instance support, Discord, and Apprise notifications. Automate your media library management with a modern, user-friendly interface.

License

Notifications You must be signed in to change notification settings

jamcalli/Pulsarr

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Pulsarr Logo

Pulsarr

Real-time Plex watchlist monitoring, routing, and notification center

Version License Node Status Discord Docker Pulls Docker Image Size GitHub Stars


Love Pulsarr? Give Us a Star! ⭐

If Pulsarr has simplified your media management, please star this repository! It takes just a second, helps others find us, and motivates continued development. Thank you for being part of our community!

Stargazers repo roster for @jamcalli/pulsarr


Pulsarr bridges Plex watchlists with Sonarr and Radarr for real-time media monitoring and automated content acquisition—all from within the Plex app, no extra logins required.

Features include multi-user watchlist sync, intelligent content routing, approval workflows with quotas, and notifications via Discord and Apprise.

Dashboard

📚 Documentation

Full documentation is available at: https://jamcalli.github.io/Pulsarr/

API Documentation

Our REST API is fully documented and accessible in two ways:

🚀 Quick Start

Docker Installation (Recommended)

  1. Create a .env file:
# ⚠️ CRITICAL: Pulsarr's address as seen from Sonarr/Radarr containers (for webhooks)
# This MUST be reachable from your *arr containers or webhooks will fail!
# Examples:
#   http://pulsarr         - Docker Compose (same network, use service name)
#   http://localhost       - Host networking
#   http://192.168.1.x     - Separate machines (use Pulsarr host's IP)
baseUrl=http://your-server-ip
port=3003                       # Default: 3003

# Your timezone
TZ=America/Los_Angeles
  1. Create docker-compose.yml:
services:
  pulsarr:
    image: lakker/pulsarr:latest
    container_name: pulsarr
    ports:
      - "3003:3003"
    volumes:
      - ./data:/app/data
      - .env:/app/.env
    restart: unless-stopped
    env_file:
      - .env
  1. Pull and start the service:
docker compose pull && docker compose up -d
  1. Access the web UI at http://your-server:3003 to complete setup.

For detailed installation options, including Unraid, manual installation, and PostgreSQL setup, see the documentation.

Database Options

Pulsarr uses SQLite by default but can also be configured to use PostgreSQL.

See the configuration documentation for PostgreSQL setup details.

Hosted Deployment Options

ElfHosted offers managed Pulsarr hosting with pre-configured media server bundles.

✨ Key Features

  • Real-time Monitoring: Instant watchlist updates for Plex Pass users (20-minute polling for non-Pass users)
  • Smart Content Routing: Route content based on genre, user, language, year, certification, and more
  • Approval & Quota System: Administrative approval workflows with configurable user quotas (daily/weekly/monthly limits)
  • Plex Label Sync: Automatically sync user watchlists and Radarr/Sonarr tags as Plex labels with real-time webhook updates
  • Multi-Instance Support: Distribute content across multiple Sonarr/Radarr instances with intelligent synchronization
  • Multi-User Support: Monitor watchlists for friends and family with granular permissions
  • Discord Bot Integration: Complete approval management directly from Discord with interactive commands
  • Flexible Notifications: Discord bot, Tautulli, webhooks, and 80+ services via Apprise
  • Advanced Lifecycle Management: Watchlist-based or tag-based deletion with playlist protection
  • Plex Session Monitoring: Auto-search for next seasons when users near season finales
  • User Tagging: Track who requested what content in Sonarr/Radarr
  • Comprehensive Analytics: Detailed dashboards with usage stats, genre analysis, and content distribution
  • Automatic Plex Updates: Configures webhooks for instant library refreshes
  • Developer-Friendly API: Full REST API with interactive documentation

Community Integrations

Contributing

We welcome contributions! Please see our Contributing Guidelines for details on:

  • Fork and branch naming conventions
  • Development workflow
  • Pull request guidelines

💬 Support

Thank You

A big thank you to these amazing contributors who've helped build and maintain this project:

Contributors

License

Pulsarr is licensed under the GPL. See the LICENSE file for details.

Acknowledgements


Built with ❤️ for the self-hosted community

About

Pulsarr: Real-time Plex watchlist monitoring and content acquisition tool. Seamlessly sync Plex watchlists with Sonarr and Radarr, featuring intelligent predicated content routing, multi-instance support, Discord, and Apprise notifications. Automate your media library management with a modern, user-friendly interface.

Topics

Resources

License

Stars

Watchers

Forks

Sponsor this project

Packages

No packages published

Languages