You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
Jack Jackson 7ff768d4ed Retrigger build after reconfiguring Ingress 7 days ago
download_dir Add tests 7 days ago
integ-tests Add tests 7 days ago
src Add tests 7 days ago
.drone.yml Specify docker build target 7 days ago
Dockerfile Add tests 7 days ago
README.md First commit 3 months ago
compose.yaml Add tests 7 days ago
dev-requirements.txt Add tests 7 days ago
requirements.txt Add tests 7 days ago

README.md

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)