Podcast publication made easy
Go to file
Solene Rapenne 2406a9e9ec potcasse: improve configuration file generated using comments. 2021-07-20 23:47:35 +02:00
LICENSE add the LICENSE 2021-07-20 23:04:11 +02:00
Makefile makefile: add a Makefile for installing/uninstalling system wide. 2021-07-20 23:27:55 +02:00
README.md potcasse: rename LANG to LANGUAGE to avoid collapsing into variables used to define a locale. 2021-07-20 23:23:33 +02:00
potcasse potcasse: improve configuration file generated using comments. 2021-07-20 23:47:35 +02:00

README.md

Introduction

potcasse is meant to help people to publish and self host a podcast easily without using a third service.

Dependencies

  • rsync (could use cp but avoid recopying audio files locally)
  • a posix compatible OS (Linux, *BSD, Solaris)

How to use

The idea is to regroup audio files with their metadata in a directory and generate the structure that you will publish on a web server.

A simple index.html file is also generated in the process to give an easy list without using the RSS file.

First time

potcasse init

This will create a file metadata.sh that you need to edit accordingly to your setup.

It has the following variables:

  • TITLE: this is the podcast title
  • AUTHOR: this is the podcast author (doesn't support multiples authors yet)
  • SITE: base HTTP URL where your podcast will be available (for example https://tilde.example/myname/podcast/
  • RSSLINK: name of the RSS feed
  • IMAGE: if value is not empty, potcasse will use the file logo.png
  • LANGUAGE: language code (such as fr or en-us) that can be potentially used by some players

You will share the link $SITE/index.html or $SITE/$RSSLINK to your listeners.

New episode

potcasse episode "Episode XX: trying something weird" /path/to/audio/file

This will create a directory episodes/YYYYMMDDhh so you can't publish more than a podcast every hour using this command. The audio file inherits the directory name.

You can force a directory name with a parameter after the audio file.

potcasse episode "Episode XX: trying something weird" /path/to/audio/file this_is_my_podcast_episode_i_want_to_name

Publishing

potcasse gen

this will create or update the output_html directory with your audio files, the RSS file, an index.html file listing all the episodes and the logo file if any.

Real world example

My podcast feed is available at https://perso.pw/lambda/feed.xml which is on server perso.pw in /var/www/htdocs/lambda/.

I add new episodes with potcasse episode "A made something nice" ~/Podcast/episodeXX/file.ogg then I use potcasse gen that will refresh the directory public_html with metadata and episodes, finally I put it online with rsync -av public_html/ perso.pw:/var/www/htdocs/lamda/.

My metadata.sh looks like this:

TITLE="Lambda Solene"
AUTHOR=Solene
SITE=https://perso.pw/lambda/
RSSLINK=feed.xml
IMAGE=YES