A self-hosted application that lets you create podcast RSS feeds from YouTube playlists

Overview

Playlist2Podcast

CI Docker Pulls buymeacoffee donate link

A self-hosted application that lets you create podcast RSS feeds from YouTube playlists.

What Does This Do?

Takes a list of YouTube playlists and:

  • Downloads all the videos in audio only format (best quality)
  • Generates an RSS XML feed and writes it to a file so that the audio files can be used/read by podcast apps

The generated RSS XML file is located at podcasts_path/playlist_title/podcast.xml.

If the playlist title has special characters, p2p makes the name safe for filesystems, so will change and/or remove special characters from the directory name. To get the directory name, the easiest way is to either ls your podcast directory or look in the logs.

What Does This Not Do?

This does not actually host the downloaded/created files, you will need a static web server for that, I reccomend Caddy or nginx.

The directory you want to serve is the same one that you put as the podcasts_path config variable.

Once you have that setup you can simply put the URL to each generated podcast.xml into your chosen podcast app, for example https://podcasts.example.com/test/podcast.xml where test is the name of the directory that p2p saved a podcasts data to.

Running & Config

The requirements in requirements.txt need installing first, you can do this your own way or by doing pip install -r requirements.txt.

Run p2p with python main.py, or see below for Docker.

Once running p2p will check for playlist updates once every 24 hours.

p2p will look for a config.yaml file where it is run, if running in Docker you will want to mount it in /app, like so:

-v $(pwd)/config.yaml:/app/config.yaml:ro

Here's what the contents should look like:

# The URL that you are going to be hosting the podcast files at.
host_base_url: "https://podcasts.example.com/"

# The path (either on your system or inside the Docker container) that will contain the podcast data.
podcasts_path: "/podcasts"

# The list of playlists to download and host. MUST be playlist URLs, NOT video URLs.
podcasts:
  - "https://www.youtube.com/playlist?list=PLTLwdZqDsAvtGmVvJqRS2czLq2YZ_ZHPJ"

Docker

Example run command:

docker run -d --name p2p --restart unless-stopped \
    -v $(pwd)/config.yaml:/app/config.yaml:ro \
    -v $(pwd)/podcasts:/podcasts \
    psidex/playlist2podcast

Don't forget if you're using the Docker build, podcast_path in config.yaml should reference the path inside the container, not outside it.

Credits

Uses yt-dlp to download the playlists and feedgen to create the RSS XML.

VaporCMS - The greatest content management system that will never exist

The greatest content management system that will never exist Overview WordPress is a huge success but could it be done better? Maybe being mo

Andrew Dailey 4 Jan 06, 2022
Ella is a CMS based on Python web framework Django with a main focus on high-traffic news websites and Internet magazines.

Ella CMS Ella is opensource CMS based on Django framework, designed for flexibility. It is composed from several modules: Ella core is the main module

295 Oct 16, 2022
CMS framework for Django

Created by Stephen McDonald Overview Mezzanine is a powerful, consistent, and flexible content management platform. Built using the Django framework,

Stephen McDonald 4.6k Dec 29, 2022
Set of Web-backend projects to implement micro-blogging site

Mini-Twitter This repository contains a set of projects covered for CPSC-449 Web-Backend development under the guidance of Prof. Kenytt Avery at CSU,

1 Nov 07, 2021
🐰 Bunnybook 🐰 A tiny social network (for bunnies), built with FastAPI and React+RxJs.

🐰 Bunnybook 🐰 A tiny social network (for bunnies), built with FastAPI and React+RxJs. Click here for live demo! Included features: 💬 chat 🔴 online

Pietro Bassi 190 Jan 03, 2023
Kotti is a high-level, Pythonic web application framework based on Pyramid and SQLAlchemy. It includes an extensible Content Management System called the Kotti CMS.

Kotti Kotti is a high-level, Pythonic web application framework based on Pyramid and SQLAlchemy. It includes an extensible Content Management System c

Kotti 394 Jan 07, 2023
An encylopedia that runs on Django as part of CS50w's coursework

Django Wiki As part of the CS50w course, this project aims to apply the use of Django together with HTML and CSS to replicate an encyclopedia. Require

Beckham 1 Oct 28, 2021
Website for PyCon

PyCon 2019 Web Site Built by the Python Community atop the Django web framework. Rather than use this as the basis for your conference site directly,

PyCon 155 Nov 05, 2022
A website (webapp) to get food recipes by recipes names & ingredients.

Ramy's tedbira A website (aka: webapp) to get food recipes by recipes names & ingredients that you have in your fridge, using Django-framework and Spo

Rami Berrekia 15 Dec 23, 2022
Link aggregator community organised by tags in python3/django3 + sqlite3.

sic Link aggregator community organised by tags in python3/django3 + sqlite3. Public instance at https://sic.pm and Tor hidden service.

Manos Pitsidianakis 97 Dec 30, 2022
Backend routes and database for an abstract theoretical app that relates a database of courses, users, and assignments.

Backend routes and database for an abstract theoretical app that relates a database of courses, users, and assignments.

Sean Wiesner 0 Dec 27, 2021
Oppia a free, online learning platform to make quality education accessible for all.

Oppia is an online learning tool that enables anyone to easily create and share interactive activities (called 'explorations'). These activities simulate a one-on-one conversation with a tutor, makin

Oppia 4.8k Dec 28, 2022
Flask-SQLAlchemy implementation of nested/threaded comment replies.

Threaded comments using Common Table Expressions (CTE) for a MySQL Flask blog or CMS Credits to peterspython Also read more about the implementation h

ONDIEK ELIJAH OCHIENG 5 Nov 12, 2022
A Django blog app implemented in Wagtail

Puput Puput is a powerful and simple Django app to manage a blog. It uses the awesome Wagtail CMS as content management system. Puput is the catalan n

APSL 535 Jan 08, 2023
A modular, high performance, headless e-commerce platform built with Python, GraphQL, Django, and ReactJS.

Saleor Commerce Customer-centric e-commerce on a modern stack A headless, GraphQL-first e-commerce platform delivering ultra-fast, dynamic, personaliz

Mirumee Labs 17.8k Jan 07, 2023
Random tarot card generator + rudimentary Django CMS

TAROT JUICER This is a rudimentary Django-based CMS which dynamically presents tarot-related content placed onto unconventional but familiar contexts

Kyle Rafa Lazaro 7 Apr 26, 2022
Crypt Wiki - VimWiki with added support for encryption/decryption

Crypt Wiki - VimWiki with added support for encryption/decryption This project is meant to solve an issue I have ran into recently. I wanted to have a

Adrian Costin 6 Dec 18, 2022
LOOKING FOR NEW MAINTAINER - Quokka is a Content Management System - `docker run --rm -it -p 5000:5000 quokka/quokka`

Quokka The Happiest CMS in the world Quokka is a Content Management Framework written in Python. A lightweight framework to build CMS (Content Managem

Quokka Project 2.2k Jan 01, 2023
A self-hosted application that lets you create podcast RSS feeds from YouTube playlists

Playlist2Podcast A self-hosted application that lets you create podcast RSS feeds from YouTube playlists. What Does This Do? Takes a list of YouTube p

Simon 12 Nov 14, 2022
Django CMS Project for quicksetup with minimal installation process.

Django CMS Project for quicksetup with minimal installation process.

Dipankar Chowdhury 3 Mar 24, 2022