||1 month ago|
|LICENSE||1 month ago|
|Makefile||2 months ago|
|README.md||1 month ago|
|potcasse||1 month ago|
potcasse, pronounced "pot kas" is meant to help people to publish and self host a podcast easily without using a third party service.
- rsync (could use cp but avoid recopying audio files locally).
- a posix compatible OS (Linux, *BSD, Solaris).
- some webserver and/or some gemini server to host the files.
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 and/or on a Gemini server.
index.html file and a simple
index.gmi file are also generated in the process to give an easy list without using the RSS file.
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
CAPSULE: base Gemini URL where your podcast will be available (for example
DESCRIPTION: description of the podcast.
RSSLINK: name of the RSS feed.
IMAGE: if value is not empty, potcasse will use the file
logo.png(only used on the web version)
LANGUAGE: language code (such as
en-us) that can be potentially used by some players.
You will share the link
$SITE/$RSSLINK to your listeners.
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
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. It will also create or update the
output_gmi directory according to the same scheme, in order to create a Gemini compatible version of the listing (it will not use the logo file though).
Real world example (from solene)
My podcast feed is available at
https://perso.pw/lambda/feed.xml which is on server
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/.
metadata.sh looks like this:
TITLE="Lambda Solene" AUTHOR=Solene SITE=https://perso.pw/lambda/ RSSLINK=feed.xml IMAGE=YES