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