2024-11-03 14:02:10 -08:00
2024-11-03 14:02:10 -08:00
2024-11-03 14:02:10 -08:00
2024-11-03 14:02:10 -08:00
2024-11-03 14:02:10 -08:00
2024-11-03 14:02:10 -08:00
2024-11-03 14:02:10 -08:00

This package puts yt-dlp behind an HTTP-callable server.

Motivation: I had a little snippet of bash that I could run on one of my *arr Pods to install the yt-dlp CLI tool and then use it to download the audio of a video at a given URL. That worked, but was awkward - especially having to reinstall the tool any time a Pod was reinitialized. With this setup, I can deploy a light image alongside the Arr Pods that can be invoked over HTTP to download whatever URL I'm interested in, without having to do a kubectl exec to shell into the existing pods.

There are tons of improvements that could be made to this, such as:

  • not hard-coding the audio format (I've picked the one that appears to work best for my Jellyfin setup), or indeed allowing the passthrough of oher customizations.
  • running this process as a Kubernetes job, or some other separated long-running job mechanism
    • exposing logs more-easily
  • using a more secure and robust server implementation than http.server
  • filename customization (using the --output flag)
  • Testing :P

Customization

Environment variables:

  • DOWNLOAD_DIR sets the directory into-which to download files (defaults to .)
  • PORT sets the port to listen on (default to 8000)
Description
No description provided
Readme 32 KiB
Languages
Python 85.3%
Dockerfile 14.7%