Skip to content
/ pddl Public

A file-first podcast manager for folks who like to manage and self-host the content they enjoy.

Notifications You must be signed in to change notification settings

Jonany/pddl

Repository files navigation

pddl

A file-first podcast manager built with TypeScript and Bun/Node.js and designed for folks who like to manage and self-host the content they enjoy. What differentiates pddl from similar apps is the ability to transcode episodes and then regenerate the podcast feeds using those transcoded episodes.

Roadmap

  • Import an OPML feed of podcasts.
  • Download podcast feeds and episodes.
  • Transcode episodes with FFMPEG.
  • Record (archive) list of downloaded episodes.
  • Update podcast feed file to point to local files.
  • Runs on Linux.
  • Runs on Windows.
  • Runs on OSX.
  • Customizable folder names.
  • Customizable file/episode names.
  • Customizable log levels.
  • Per-podcast transcode settings.

Running

Run with bun run index.ts. Or generate a single-file executable with bun build ./index.ts --compile --outfile bin/pddl.

Configuration

pddl uses Bun environment variables for configuration. See example.env for valid options.

A much more elegant solution using TOML is in the works.

Serving

Any file server (Cady, NGINX, etc.) will work but if you want to enjoy life I suggest using Tailscale's awesome serve command. For example, tailscale serve --bg --set-path podcasts /home/user/Public/podcasts. See the Tailscale Serve docs for details.

Aren't there enough of these? 🤨

There are now 😏 ... I've tried quite a few other options but none of them measured up to what I wanted. Most of them could do the downloading part and some could even handle naming but the only two I recall finding that regenerated the feeds so that I could serve the content were Podfetch and Podgrab but neither handled transcoding. So I built my own thing.

About

A file-first podcast manager for folks who like to manage and self-host the content they enjoy.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published