Podvapor is a tool for hosting your podcast on the Deno Deploy™ serverless platform. The goal is to give podcasters the benefit of full control of their podcast feed, without many of the drawbacks of maintaining the feed themselves.
However, it's also possible to host it on your own infrastructure. None of the code is proprietary and can be hosting on the Deno CLI platform. Data is stored in Deno KV.
- Serverless hosting
- No arbitrary limits on number of podcasts or episodes
- Total control of your feed, with the ability to customize if needed
- Episode audio files with length, filetype, and duration metadata
- S3-compatible storage provider (Amazon S3, Cloudflare R2, DigitalOcean Spaces, etc.)
- Deno Deploy™ environment variables
For now, Podvapor only provides hosting for your podcast feed. It doesn't create or host your audio files, or their associated metadata required by podcast feeds. That is still up to you. There may be more guidance on how to do this in the future.
You can host your audio files anywhere. A great place to host large files like this would be on Amazon S3 or an S3-compatible endpoint such as DigitalOcean Spaces, Linode Object Storage, or Vultr object storage. Even better if they are behind a CDN!
Get the URL for that audio file as well as the audio metadata and put them in the right column in the episodes
table. Here are the audio-specific attributes:
audio.url
— web-accessible file URLaudio.length
— file length (filesize in bytes, not duration)audio.type
— MIME type for audio file. Most of the time it will beaudio/mpeg
, but not always!duration
— length of the audio, in seconds. This one is not under theaudio
property of the episode, since it's a root property of the episode, following the podcast RSS spec.
Once you have your audio files at publicly-accessible URLs, as well as your DB set up, you'll also need to come up with a name for your podcast and determine the URL it will be hosted at.
In Deno Deploy™, create these ENVIRONMENT variables and fill in the appropriate values:
ENVIRONMENT
—production
DOMAIN
— The domain the of the site. This can be your own or one created automatically by Deno Deploy™.
Since this project will be deployed directly on Deno Deploy™ with audio files hosted presumably hosted somewhere with an S3 endpoint, you will pay for Deno Deploy™ usage and your file hosting services directly. At this point, it will realistically cost about $5/month total for most hosts, since Deno Deploy™ is still free since it's in Beta and DigitalOcean Spaces and others charge about $5/month to host files.
No middleman fee for using this software :)
This project should be easy to self-host, since Deno Deploy™ is just a subset of the Deno CLI (for the most part). Instructions coming soon.
This project is in extremely early stages, so I don't have a formal process for handling contributions. As the project grows, it may formalize it a bit more.
Here is a podcast currently hosted with this software. (The show host is the author of this software)