Home

Awesome

Contributors Forks Stargazers Issues MIT License LinkedIn

<!-- PROJECT LOGO --> <br /> <p align="center"> <!-- <a href="https://github.com/akhilrex/podgrab"> <img src="images/logo.png" alt="Logo" width="80" height="80"> </a> --> <h1 align="center" style="margin-bottom:0px">Podgrab</h1> <p align="center">Current Version -2022.07.07</p> <p align="center"> A self-hosted podcast manager to download episodes as soon as they become live <br /> <a href="https://github.com/akhilrex/podgrab"><strong>Explore the docs »</strong></a> <br /> <br /> <!-- <a href="https://github.com/akhilrex/podgrab">View Demo</a> · --> <a href="https://github.com/akhilrex/podgrab/issues">Report Bug</a> · <a href="https://github.com/akhilrex/podgrab/issues">Request Feature</a> · <a href="Screenshots.md">Screenshots</a> </p> </p> <!-- TABLE OF CONTENTS -->

Table of Contents

<!-- ABOUT THE PROJECT -->

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.

Product Name Screen Shot More Screenshots

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/podgrab

Using 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 -d

Build 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

NameDescriptionDefault
CHECK_FREQUENCYHow frequently to check for new episodes and missing files (in minutes)30
PASSWORDSet to some non empty value to enable Basic Authentication, username podgrab(empty)
PORTChange 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 -->

Contact

Akhil Gupta - @akhilrex

Project Link: https://github.com/akhilrex/podgrab

<a href="https://www.buymeacoffee.com/akhilrex" target="_blank"><img src="https://cdn.buymeacoffee.com/buttons/v2/default-yellow.png" alt="Buy Me A Coffee" style="height: 60px !important;width: 217px !important;" ></a>

<!-- MARKDOWN LINKS & IMAGES --> <!-- https://www.markdownguide.org/basic-syntax/#reference-style-links -->