GithubHelp home page GithubHelp logo

serkef / podgrab Goto Github PK

View Code? Open in Web Editor NEW

This project forked from akhilrex/podgrab

0.0 0.0 0.0 3.6 MB

A self-hosted podcast manager/downloader/archiver tool to download podcast episodes as soon as they become live with an integrated player.

License: GNU General Public License v3.0

Shell 0.01% Dockerfile 0.13% HTML 23.17% Go 18.74% JavaScript 57.95%

podgrab's Introduction

Contributors Forks Stargazers Issues MIT License LinkedIn


Podgrab

A self-hosted podcast manager to download episodes as soon as they become live
Explore the docs »

Report Bug · Request Feature · Screenshots

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.

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 by 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

  • Download/Archive complete podcast
  • Auto-download new episodes
  • Tag/Label podcasts into groups
  • Download on demand
  • Podcast Discovery - Search and Add podcasts using iTunes API
  • Full-fledged podcast player - Play downloaded files or stream from original source. Play single episodes, full podcasts and podcast groups(tags)
  • Add using direct RSS feed URL / OMPL import / Search
  • Basic Authentication
  • Existing episode file detection - Prevent re-downloading files if already present
  • Easy OPML import/export
  • Customizable episode names
  • Dark Mode
  • Self Hosted / Open Source
  • Docker support

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

Name Description Default
CHECK_FREQUENCY How frequently to check for new episodes and missing files (in minutes) 30
PASSWORD Set to some no empty value to enable Basic Authentication, username podgrab (empty)

Setup

  • Enable websocket support if running behind a reverse proxy. This is needed for the "Add to playlist" functionality.
  • Go through the settings page once and change relevant settings before adding podcasts.

License

Distributed under the GPL-3.0 License. See LICENSE for more information.

Roadmap

  • Basic Authentication
  • Append Date to filename
  • iTunes Search
  • Existing episodes detection (Will not redownload if files exist even with a fresh install)
  • Downloading/downloaded indicator
  • Played/Unplayed Flag
  • OPML import
  • OPML export
  • In built podcast player
  • Set ID3 tags if not set
  • Filtering and Sorting options
  • Native installer for Windows/Linux/MacOS

Contact

Akhil Gupta - @akhilrex

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

Buy Me A Coffee

podgrab's People

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.