A self-hosted podcast manager/downloader/archiver tool to download podcast episodes as soon as they become live with an integrated player.
Podgrab
Current Version -2022.07.07
A self-hosted podcast manager to download episodes as soon as they become live
Explore the docs »
<a href="https://github.com/akhilrex/podgrab/issues" rel="nofollow">Report Bug</a>
·
<a href="https://github.com/akhilrex/podgrab/issues" rel="nofollow">Request Feature</a>
·
<a href="https://github.com/akhilrex/podgrab/blob/master/Screenshots.md" rel="nofollow">Screenshots</a>
Table of Contents
About The Project
Podgrab is a is a self-hosted podcast manager which automatically downloads latest podcast episodes. It is a light-weight application built using GO.
It works best if you already know which podcasts you want to monitor. However there is a podcast search system powered by iTunes built into Podgrab
Developers Note: This project is under active development which means I release new updates very frequently. It is recommended that you use something like watchtower which will automatically update your containers whenever I release a new version or periodically rebuild the container with the latest image manually.
Also check out my other self-hosted, open-source solution - Hammond - Vehicle and Expense management system.
Motivation
Podgrab started as a tool that I initially built to solve a specific problem I had. During the COVID pandemic times I started going for a run. I do not prefer taking my phone along so I would add podcast episodes to my smart watch which could be connected with my bluetooth earphones. Most podcasting apps do not expose the mp3 files directly which is why I decided to build this quick tool for myself. Once it reached a stage where my requirements were fulfilled I decided to make it a little pretty and share it with everyone else.
Built With
Features
Installation
The easiest way to run Podgrab is to run it as a docker container.
Using Docker
Simple setup without mounted volumes (for testing and evaluation)
docker run -d -p 8080:8080 --name=podgrab akhilrex/podgrab
Binding local volumes to the container
docker run -d -p 8080:8080 --name=podgrab -v "/host/path/to/assets:/assets" -v "/host/path/to/config:/config" akhilrex/podgrabUsing Docker-Compose
Modify the docker compose file provided here to update the volume and port binding and run the following command
version: "2.1" services: podgrab: image: akhilrex/podgrab container_name: podgrab environment: - CHECK_FREQUENCY=240 # - PASSWORD=password ## Uncomment to enable basic authentication, username = podgrab volumes: - /path/to/config:/config - /path/to/data:/assets ports: - 8080:8080 restart: unless-stopped
docker-compose up -dBuild from Source / Ubuntu Installation
Although personally I feel that using the docker container is the best way of using and enjoying something like Podgrab, a lot of people in the community are still not comfortable with using Docker and wanted to host it natively on their Linux servers. Follow the link below to get a guide on how to build Podgrab from source.
Build from source / Ubuntu Guide
Environment Variables
Name Description Default
CHECK_FREQUENCY How frequently to check for new episodes and missing files (in minutes) 30
PASSWORD
Set to some non empty value to enable Basic Authentication, username podgrab
(empty)
PORT Change the internal port of the application. If you change this you might have to change your docker configuration as well (empty)
Setup
License
Distributed under the GPL-3.0 License. See LICENSE
for more information.
Roadmap
Contact
Akhil Gupta - @akhilrex
Project Link: https://github.com/akhilrex/podgrab
Twice a month we will interview people behind open source businesses. We will talk about how they are building a business on top of open source projects.
We'll never share your email with anyone else.