Merge Sonarr + Radarr iCal feeds into a single calendar subscription (Dockerized Flask app)
539
plex_ical is a lightweight Python/Flask service that merges multiple iCal feeds (from Sonarr and Radarr) into a single calendar subscription.
It runs in Docker and is perfect for Synology NAS, Portainer, or any container host.
.icsCAL_NAME) via env var/health)docker run -d --name plex_ical -p 5181:8000 -e SONARR_ICAL_URL="http://sonarr-ip:8989/feed/v3/calendar/Sonarr.ics?apikey=YOUR_SONARR_API_KEY" -e RADARR_ICAL_URL="http://radarr-ip:7878/feed/v3/calendar/Radarr.ics?apikey=YOUR_RADARR_API_KEY" -e CAL_NAME="plex_ical_Entertainment" casahome2000/plex_ical:latest
Then subscribe to:
http://<host-ip>:5181/calendar
| Variable | Required | Description |
|---|---|---|
SONARR_ICAL_URL | ✅ | Sonarr iCal feed URL (with API key) |
RADARR_ICAL_URL | ✅ | Radarr iCal feed URL (with API key) |
CAL_NAME | ✅ | Calendar display name |
REFRESH_SECONDS | ❌ | Refresh cache interval (default: 1800) |
VERIFY_SSL | ❌ | Verify SSL on feed requests (true/false) |
REQUEST_TIMEOUT | ❌ | Timeout for feed requests in seconds |
TZ | ❌ | Container timezone (default: UTC) |
LOG_LEVEL | ❌ | Logging verbosity (INFO, DEBUG, etc.) |
/calendar → Merged iCal feed/health → JSON service health/ → Basic service infowebcal:// — use http://<ip>:5181/calendar..env file is not included in the image. Always supply environment variables at runtime.:3, :4) instead of :latest.Content type
Image
Digest
sha256:99730ee9b…
Size
45.1 MB
Last updated
about 1 year ago
docker pull casahome2000/plex_ical