Initial commit: TVH2Jellyfin application
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
This commit is contained in:
45
.env.example
Normal file
45
.env.example
Normal file
@@ -0,0 +1,45 @@
|
||||
# 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
|
||||
Reference in New Issue
Block a user