|
2 years ago | |
---|---|---|
LICENSE | 2 years ago | |
Makefile | 2 years ago | |
README.md | 2 years ago | |
potcasse | 2 years ago |
README.md
Introduction
potcasse, pronounced "pot kas" is meant to help people to publish and self host a podcast easily without using a third party service.
Dependencies
- 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.
A simple 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.
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 examplehttps://tilde.example/myname/podcast/
.CAPSULE
: base Gemini URL where your podcast will be available (for examplegemini://tilde.example/myname/podcast/
.DESCRIPTION
: description of the podcast.RSSLINK
: name of the RSS feed.IMAGE
: if value is not empty, potcasse will use the filelogo.png
(only used on the web version)LANGUAGE
: language code (such asfr
oren-us
) that can be potentially used by some players.
You will share the link $SITE/index.html
, $SITE/index.gmi
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. 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 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