A Docker-based Python application that transfers completed recordings from TVHeadend to Jellyfin media storage via SCP. Features: - Monitors TVHeadend for completed recordings via JSON API - Transfers files via SCP with SSH key authentication - Organizes files by show name - Deletes recordings from TVHeadend after successful transfer - Tracks transferred files to avoid duplicates - Dry run mode for testing without making changes
46 lines
1.3 KiB
Plaintext
46 lines
1.3 KiB
Plaintext
# TVHeadend server configuration
|
|
TVH_HOST=192.168.1.100
|
|
TVH_PORT=9981
|
|
TVH_USER=admin
|
|
TVH_PASS=your_tvheadend_password
|
|
|
|
# TVHeadend SSH user (for SCP file transfer, defaults to TVH_USER)
|
|
TVH_SSH_USER=admin
|
|
# SSH port (defaults to 22)
|
|
TVH_SSH_PORT=22
|
|
|
|
# Path to SSH private key on the Docker host (for volume mount)
|
|
SSH_KEY_HOST_PATH=./id_rsa
|
|
|
|
# Path to Jellyfin media library on the Docker host
|
|
JELLYFIN_MEDIA_PATH=/mnt/jellyfin/tv
|
|
|
|
# Application settings
|
|
POLL_INTERVAL=300
|
|
LOG_LEVEL=INFO
|
|
|
|
# Dry run mode - set to true to test without transferring/deleting
|
|
DRY_RUN=false
|
|
|
|
# TVDB configuration (optional - for episode lookup)
|
|
# Get your API key from https://thetvdb.com/api-information
|
|
TVDB_API_KEY=
|
|
TVDB_PIN=
|
|
TVDB_ENABLED=true
|
|
TVDB_CACHE_TTL=86400
|
|
# Optional JSON file mapping TVHeadend show names to TVDB names
|
|
# TVDB_SHOW_MAPPING=/app/data/show_mapping.json
|
|
|
|
# TVMaze configuration (optional - fallback for episode lookup)
|
|
# No API key required - public API
|
|
TVMAZE_ENABLED=true
|
|
TVMAZE_CACHE_TTL=86400
|
|
|
|
# Jellyfin API configuration (optional - for library scan triggers)
|
|
# Get your API key from Jellyfin Admin Dashboard > API Keys
|
|
JELLYFIN_URL=http://localhost:8096
|
|
JELLYFIN_API_KEY=
|
|
# Optional: scan only a specific library (get ID from get_libraries())
|
|
# JELLYFIN_LIBRARY_ID=
|
|
JELLYFIN_ENABLED=true
|