Files
tvh2jellyfin/docker-compose.yml
Dan Head a8b247a83f 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
2026-04-03 09:31:04 +01:00

29 lines
964 B
YAML

services:
tvh2jellyfin:
user: "1000:1000"
build: .
container_name: tvh2jellyfin
environment:
# TVHeadend connection (API)
- TVH_HOST=${TVH_HOST:-192.168.1.100}
- TVH_PORT=${TVH_PORT:-9981}
- TVH_USER=${TVH_USER}
- TVH_PASS=${TVH_PASS}
# TVHeadend SSH access (for file transfer)
- TVH_SSH_USER=${TVH_SSH_USER:-${TVH_USER}}
- SSH_KEY_PATH=/app/.ssh/id_rsa
# Local destination path (inside container)
- DEST_PATH=/media/tv
# Application settings
- POLL_INTERVAL=${POLL_INTERVAL:-300}
- LOG_LEVEL=${LOG_LEVEL:-INFO}
- DRY_RUN=${DRY_RUN:-false}
volumes:
# State persistence
- ./data:/app/data
# SSH key for SCP from TVHeadend (host path, read-only)
- ${SSH_KEY_HOST_PATH:-~/.ssh/id_rsa}:/app/.ssh/id_rsa:ro
# Jellyfin media library (destination)
- ${JELLYFIN_MEDIA_PATH:-/mnt/jellyfin/tv}:/media/tv
restart: unless-stopped