Scrape PodMe podcast streams to mp3 and host with RSS feed.
Note: A valid PodMe subscription is required to access premium content
- Clone repo
- Install
poetry - Install dependencies
poetry install
-
Install
ffmpeg -
Define harvest and feed configurations by copying
config.template.yamlto your ownconfig.yaml.
Most importantly, you need to provide:- a
hostpath (for links in the RSS feeds) - login credentials (
auth) for your PodMe account - the
podcastsyou wish to harvest and serve
- a
Latest image is published at ghcr.io/mathiazom/pasjonsfrukt:main.
Docker Compose: use the docker-compose.template.yml as a starting point.
Remember to map the config file and yield directory. An optional crontab can be mounted for periodic harvesting.
The Docker image serves the podcast feeds via pasjonsfrukt serve.
Harvest episodes of all podcasts defined in config
pasjonsfrukt harvestHarvest episodes of specific podcast(s)
pasjonsfrukt harvest [PODCAST_SLUG]...Update all RSS feeds defined in config
pasjonsfrukt syncUpdate RSS feed of specific podcast
pasjonsfrukt sync [PODCAST_SLUG]...The feeds are always updated after harvest, so manual feed syncing is only required if files are changed externally
Run web server
pasjonsfrukt serveRSS feeds will be served at <host>/<podcast_slug>, while episode files are served
at <host>/<podcast_slug>/<episode_id>
hostmust be defined in the config file.
If a secret has been defined in the config, a query parameter (?secret=<secret-string>) with matching secret string
is required to access the served podcast feeds and episode files. This is useful for making RSS feeds accessible on the
web, without making them fully public. Still, the confidentiality is provided as is, with no warranties 🙃
poe fmt
uses Black code formatter