discarr/docs/transcoders/ssh-workers.md
pyr0ball dc768a8dbb docs: add MkDocs site
14-page documentation site covering installation, quick start,
full config reference, Sonarr/Radarr/qBittorrent/Tdarr integrations,
ffmpeg/HandBrake transcoder setup, SSH transcode workers, disc format
reference, and troubleshooting.

Stack: mkdocs-material 9.x (MIT), pinned <10 to avoid 2.0 licence wall.
2026-05-27 09:45:29 -07:00

2.3 KiB
Raw Blame History

SSH Transcode Workers

Offload encoding to a remote machine over SSH. Useful when your NAS or media server is low-powered and you have a separate box with more CPU or a GPU encoder.

How it works

When SSH transcode is configured, Discarr:

  1. Copies the source disc files to the remote host over SCP
  2. Runs ffmpeg or HandBrake on the remote machine
  3. Copies the encoded output back
  4. Triggers the arr notification from the local machine
Discarr (local)
      │
      │  scp source files →
      ▼
Remote encode host (SSH)
      │  ffmpeg / HandBrake
      │
      │  ← scp encoded output
      ▼
Discarr (local)
      │  notify Sonarr/Radarr
      ▼
Arr import

Configuration

SSH_TRANSCODE_HOST=strahl         # hostname or IP of the encode machine
SSH_TRANSCODE_USER=alan           # SSH user on that machine
SSH_TRANSCODE_MEDIA_ROOT=/media   # path where media is accessible on the remote
SSH_TRANSCODE_KEY=~/.ssh/id_ed25519  # optional: SSH key (defaults to ~/.ssh/id_rsa)

Setting up SSH key auth

Generate a key pair if you don't have one:

ssh-keygen -t ed25519 -C "discarr-transcode"

Copy the public key to the remote host:

ssh-copy-id -i ~/.ssh/id_ed25519.pub alan@strahl

Verify passwordless login:

ssh -i ~/.ssh/id_ed25519 alan@strahl echo "OK"

If both machines mount the same NFS share, Discarr can skip the SCP copy entirely — it passes the already-accessible path directly to the remote transcoder.

Set the same SSH_TRANSCODE_MEDIA_ROOT as the NFS mount point on the remote:

SSH_TRANSCODE_MEDIA_ROOT=/mnt/media  # must match the NFS mount on the remote

Discarr detects the shared mount and avoids copying.

Requirements on the remote host

  • ffmpeg + ffprobe (always)
  • HandBrakeCLI (if using HandBrake as the transcoder)
  • SSH server running and accessible from the Discarr host
  • Write access to SSH_TRANSCODE_MEDIA_ROOT

Tips

  • Use a dedicated SSH key for Discarr rather than your personal key
  • If encoding stalls, check disk space on the remote — HEVC encodes of full discs can use 50100 GB of temp space
  • For GPU-accelerated remote encoding (NVENC), make sure the ffmpeg on the remote is built with NVENC support: ffmpeg -encoders | grep nvenc