How to Self-Host with IPFS Podcasting

Generally, self hosting is discouraged because demand on server resources & bandwidth can be high. With IPFS, resources & bandwidth are distributed, which makes self-hosting possible. The more distributed your content, the less demand per node on the IPFS network. IPFS Podcasting uses IPFS to distribute your podcast audio to multiple nodes/hosts. The basics of self-hosting boil down to your podcast RSS file, and your episode audio files.

Step 1: Upload your files to a public host.

With IPFS Podcasting, IPFS nodes download your audio, then "pin" to the IPFS network. Once on IPFS, the files are retrieved by public IPFS gateways (not your host). In other words, your files have to start on a public host before they can be loaded into IPFS.

You can put your files directly on your podcast website, dropbox, or anywhere the files are publicly available. Once audio files are pinned on the IPFS network, bandwidth usage from your host will be minimal.

Step 2: Configure your enclosures with the IPFS Podcasting prefix.

The podcast prefix checks if your files exist in IPFS. If so, the podcast player will be redirected to an IPFS gateway to download. If the episode is not on IPFS, the player will be directed to your original host to download the audio file.

Simply add ipfspodcasting.net/e/ to your item enclosures in front of your host url. For example...

<enclosure url="https://ipfspodcasting.net/e/my-host.com/my-podcast/my-episode.mp3"/>

If you don't want to edit your own RSS, try Sovereign Feeds to edit via a web interface and all the Podcasting 2.0 features. The IPFS Podcasting prefix can be added to all your enclosures in Sovereign Feeds by adding a "custom tracker".

Step 3: Submit your feed

Submit your feed to IPFS Podcasting for scanning. This only needs to be done once. If you have a Podcasting 2.0 compatible feed, you can submit automatically by adding a split for IPFS Podcasting. Your feed will be automatically scanned for IPFS tasks, plus you'll be supporting IPFS Podcasting with Value-4-Value.

When IPFS Podcasting discovers a new episode has been published, it will be sent to the IPFS nodes for pinning/hosting.

Also submit your feed to the Podcast Index so people can find your podcast.

Step 4: Get IPFS nodes to support your show

This might be the trickiest step. IPFS Podcasting nodes are run by volunteers & fans of podcasting. By default, new episodes are hosted as long as they're popular, then go back to your original host.

Your episodes can be hosted permenantly if IPFS nodes "favorite" your feed. You can run your own node, or ask your fans to run a node and favorite your feed. The more nodes that favorite your show, the better performance from the IPFS network.

If no IPFS nodes are hosting your content, your episodes will revert to your original host.

If you need help, you can email [email protected], or ask for help on Mastodon to @[email protected].