Projectionist receives Plex webhooks and reports events via Discord.
Although not required, a Discord Webhook is recommended for notifications.
Environment Variables:
LOG_LEVEL
: Loguru severity level to write to the console.LOG_DISCORD_WEBHOOK_URL
: Discord Webhook URL to receive log events.LOG_DISCORD_WEBHOOK_LEVEL
: Minimum Loguru severity level to forward to Discord.PROJECTIONIST_PORT
: HTTP port to bind the Projectionist API to. Default is8000
.PLEX_EVENT_MEDIAPLAY
: Boolean toggle for themedia.play
Plex event. Default is False.TMDB_API_KEY
: API Key for The Movie Database (TMDB), required to enable media thumbnails.DISCORD_WEBHOOK_URL
: Discord Webhook URL to receive Plex event notifications.
Modify the following docker-compose.yml
example file, then run docker compose up
.
version: "3"
services:
projectionist:
container_name: projectionist
image: ethanchrisp/projectionist:latest
environment:
LOG_LEVEL: INFO
LOG_DISCORD_WEBHOOK_URL: https://discord.com/api/webhooks/YYYYYYYY/YYYYYYYY
LOG_DISCORD_WEBHOOK_LEVEL: WARNING
PROJECTIONIST_PORT: 8000
PLEX_EVENT_MEDIAPLAY: true
TMDB_API_KEY: XXXXXXXX
DISCORD_WEBHOOK_URL: https://discord.com/api/webhooks/XXXXXXXX/XXXXXXXX
restart: unless-stopped
Projectionist is built for Python 3.11 or greater.
- Install required dependencies using Poetry:
poetry install
- Rename
.env.example
to.env
, then provide the environment variables. - Start Projectionist:
python projectionist.py
Notice: Webhook functionality is exclusive to Plex Pass subscribers.
- In Plex, open Settings, then select Webhooks.
- Add a Webhook and enter the URL that points to your instance of Projectionist.