Last week, I published a weekend project for downloading media files from an RSS feed. I decided to Dockerize that code to quickly run it on a schedule in my local environment.
Check out the links to the source code and Docker image in the resources section if you want to use the tool yourself.
Usage
Create a docker-compose.yaml file (You can use docker-compose-template.yaml in the GitHub repo)
It should look like this:
version: "3.9" services: podcast-downloader: image: devpowercouk/podcast-downloader restart: always environment: AppSettings__CheckIntervalInDays: 5 AppSettings__PodcastInfoList__0__PodcastName: "{podcast name}" AppSettings__PodcastInfoList__0__RssUrl: "{rss feed}" AppSettings__PodcastInfoList__0__LocalDirectory: "/Downloads/{podcast name}" AppSettings__PodcastInfoList__1__PodcastName: "{podcast name}" AppSettings__PodcastInfoList__1__RssUrl: "{rss feed}" AppSettings__PodcastInfoList__1__LocalDirectory: "/Downloads/{podcast name}" volumes: - { path to download root folder on host }:/Downloads
Update the missing parts, such as the podcasts you’d like to download and where to download them.
Set the interval duration. I’d choose somewhere between 5 – 10 days to avoid downloading the RSS feed too often.
After you’ve updated the settings, open a terminal and run the following command:
docker-compose up -d
You can then open your local download directory and watch the audio/video files pour in 💪.
Conclusion
It’s nice to use a proper podcatcher app to listen to the new episodes of my favourite podcasts, but I also like to keep a local copy so that I can pick a random episode at random times. It may also come in handy if the RSS feed is pulled or stops working. At the very least, it’s a fun project that allowed me to play with Docker more.
Have fun, and let me know what you think about the project in the comments below.