A dockerized tool that checks for daily digital movie releases and automatically requests them through Overseerr or Riven with intelligent filtering and Discord notifications.
- 🎬 Digital Release Detection: Checks for movies with digital releases today (not theatrical)
- 📡 Multiple Release Sources: Use TMDB or dvdsreleasedates.com for release dates
- 🎯 Multi-Service Support: Request through Overseerr and/or Riven simultaneously
- 🔔 Discord Notifications: Get notified for each movie added with poster and rating
- 🎥 Smart Filtering: Filter by TMDB rating, language, genre, MPAA rating, and adult content
- 🐳 Docker Native: Complete Docker and Docker Compose setup
- ⚙️ Fully Configurable: JSON-based settings + complete environment variable support
- 📅 Daily Scheduling: Run at a specific time daily with optional request delay
- Docker and Docker Compose (or Python 3.11+)
- TMDB API key (free from themoviedb.org)
- At least ONE of:
- Overseerr instance with API key
- Riven instance with API key
- Clone the repository
- Edit
docker-compose.ymlwith your API keys - Run:
docker-compose up -dpip install -r requirements.txt
python src/main.pyConfigure via environment variables (Docker) or settings.json.
| Variable | Description | Example |
|---|---|---|
| TMDB_API_KEY | TMDB API key (required) | your_tmdb_key |
| OVERSEERR_API_URL | Overseerr URL | http://overseerr:5055 |
| OVERSEERR_API_KEY | Overseerr API key | your_overseerr_key |
| RIVEN_API_URL | Riven URL | http://riven:8080 |
| RIVEN_API_KEY | Riven API key | your_riven_key |
| DISCORD_WEBHOOK_URL | Discord webhook for notifications | https://discord.com/api/webhooks/... |
| RELEASE_SOURCE | Where to get release dates: tmdb or dvdsreleasedates |
tmdb |
| RUN_TIME | Time to run daily (24h format) | 19:00 |
| REQUEST_DELAY_MINUTES | Minutes to wait before requests | 0 |
| Source | Description |
|---|---|
tmdb |
Uses TMDB's digital release dates (default) |
dvdsreleasedates |
Scrapes dvdsreleasedates.com for more accurate US digital release dates, then looks up movie details on TMDB |
| Variable | Description | Example |
|---|---|---|
| FILTERS_MIN_TMDB_RATING | Minimum TMDB rating (0-10) | 6.0 |
| FILTERS_EXCLUDE_ADULT | Exclude adult content | true |
| FILTERS_ALLOWED_LANGUAGES | Comma-separated language codes (see list below) | en,es,fr |
| FILTERS_EXCLUDED_GENRES | Comma-separated genres to exclude (see list below) | Horror,Documentary |
| FILTERS_EXCLUDED_CERTIFICATIONS | Comma-separated MPAA ratings to skip (e.g., R, PG-13) | R,NC-17 |
| Code | Language |
|---|---|
en |
English |
es |
Spanish |
fr |
French |
de |
German |
it |
Italian |
pt |
Portuguese |
ja |
Japanese |
ko |
Korean |
zh |
Chinese |
hi |
Hindi |
ru |
Russian |
Action, Adventure, Animation, Comedy, Crime, Documentary, Drama, Family, Fantasy, History, Horror, Music, Mystery, Romance, Science Fiction, TV Movie, Thriller, War, Western
| Rating | Description |
|---|---|
G |
General Audiences - All ages |
PG |
Parental Guidance Suggested |
PG-13 |
Parents Strongly Cautioned - May be inappropriate for children under 13 |
R |
Restricted - Under 17 requires parent |
NC-17 |
Adults Only - No one 17 and under |
version: '3.8'
services:
digitarr:
image: arrrrrr/digitarr:latest
container_name: digitarr
restart: unless-stopped
environment:
- TMDB_API_KEY=your_tmdb_api_key
- OVERSEERR_API_URL=http://overseerr:5055
- OVERSEERR_API_KEY=your_overseerr_key
- DISCORD_WEBHOOK_URL=https://discord.com/api/webhooks/...
- RUN_TIME=19:00
- FILTERS_MIN_TMDB_RATING=6.0
- FILTERS_ALLOWED_LANGUAGES=en
- FILTERS_EXCLUDED_GENRES=Horror
- FILTERS_EXCLUDED_CERTIFICATIONS=NC-17
- TZ=America/New_York
volumes:
- ./logs:/app/logs{
"tmdb": {
"api_key": "your_tmdb_api_key"
},
"overseerr": {
"api_url": "http://overseerr:5055",
"api_key": "your_overseerr_key"
},
"riven": {
"api_url": "http://riven:8083",
"api_key": "your_riven_key"
},
"filters": {
"min_tmdb_rating": 6.0,
"exclude_adult": true,
"allowed_languages": ["en"],
"excluded_genres": ["Horror", "Documentary"],
"excluded_certifications": ["R", "NC-17"]
},
"run_time": "19:00",
"request_delay_minutes": 0,
"discord": {
"webhook_url": "https://discord.com/api/webhooks/..."
},
"logging": {
"level": "INFO"
}
}FILTERS_ALLOWED_LANGUAGES=en
FILTERS_MIN_TMDB_RATING=6.0FILTERS_EXCLUDED_GENRES=Horror
FILTERS_EXCLUDED_CERTIFICATIONS=R,NC-17FILTERS_EXCLUDE_ADULT=true
FILTERS_EXCLUDED_CERTIFICATIONS=R,NC-17
FILTERS_EXCLUDED_GENRES=Horror,ThrillerWhen enabled, Digitarr sends individual Discord notifications for each movie added:
- 🎬 Movie poster thumbnail
- ⭐ TMDB rating
- 📝 Movie description
- ✅ Services added to (Overseerr/Riven)
- Adds movies to the request list
- No Radarr/Sonarr configuration required in Overseerr
- Automatically skips already requested movies
- Adds movies directly via API
- Uses
POST /api/v1/items/addendpoint - Auto Re-request: If a movie already exists in Riven (any state), it will be automatically removed and re-added to trigger a fresh scrape attempt
Leave RUN_TIME empty to run once and exit:
docker-compose run --rm digitarrSet RUN_TIME to run at a specific time daily:
RUN_TIME=19:00 # Runs daily at 7 PMLogs are written to digitarr.log and console:
docker-compose logs -f digitarr- Check TMDB API key is valid
- Digital releases may not exist for today
- For Docker, use container names or
host.docker.internalinstead oflocalhost
- Movie already in request list (normal, skipped gracefully)
- Go to https://www.themoviedb.org/
- Settings → API → Request API key
- Copy API key (v3 auth)
- Settings → General → API Keys
- Create and copy key
- Settings → API Key
- Copy secret token
MIT - Free for personal or commercial use