133 lines
8.6 KiB
HTML
133 lines
8.6 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="en-us" dir="ltr">
|
|
<head><script src="/livereload.js?mindelay=10&v=2&port=1313&path=livereload" data-no-instant defer></script>
|
|
<meta charset="utf-8">
|
|
<meta name="viewport" content="width=device-width">
|
|
|
|
<meta name="description" content="I’ve been podcasting on and off for over ten years now — all shows that I’ve since abandoned1, either intentionally or due to time — but I’ve kept websites for them up and running for archival purposes. Originally, the sites were powered by WordPress and podcasting plugins (PowerPress and then Podlove). I didn’t want to continue paying to host the sites nor maintain a WordPress install2, so here’s how I migrated the sites to Hugo and maintain them for about $12/yr (not including the cost of the domains).
|
|
">
|
|
|
|
<title>Hosting a podcast for pennies a day | cassie.ink</title>
|
|
|
|
<link rel="stylesheet" href="/css/main.css">
|
|
<link rel="stylesheet" href="/css/fonts.css">
|
|
|
|
|
|
<script src="/js/main.js"></script>
|
|
|
|
|
|
</head>
|
|
<body>
|
|
<header>
|
|
<h1>
|
|
<a href="http://localhost:1313/">
|
|
cassie
|
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" class="icon icon-tabler icons-tabler-filled icon-tabler-droplet"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M10.708 2.372a2.382 2.382 0 0 0 -.71 .686l-4.892 7.26c-1.981 3.314 -1.22 7.466 1.767 9.882c2.969 2.402 7.286 2.402 10.254 0c2.987 -2.416 3.748 -6.569 1.795 -9.836l-4.919 -7.306c-.722 -1.075 -2.192 -1.376 -3.295 -.686z" /></svg>
|
|
ink
|
|
</a>
|
|
</h1>
|
|
|
|
<nav>
|
|
<ul>
|
|
<li>
|
|
<a href="/about/">About</a>
|
|
</li>
|
|
<li>
|
|
<a aria-current="true" class="ancestor" href="/posts/">Posts</a>
|
|
</li>
|
|
<li>
|
|
<a href="/tags/week-notes/">Week Notes</a>
|
|
</li>
|
|
</ul>
|
|
</nav>
|
|
|
|
|
|
</header>
|
|
<main class='page'>
|
|
|
|
<article>
|
|
|
|
<time datetime="2025-08-11T00:00:00+00:00">11 August 2025</time>
|
|
|
|
<h1>Hosting a podcast for pennies a day</h1>
|
|
|
|
<div class="barcode">
|
|
|
|
</div>
|
|
|
|
<p>I’ve been podcasting on and off for over ten years now — all shows that I’ve since abandoned<sup id="fnref:1"><a href="#fn:1" class="footnote-ref" role="doc-noteref">1</a></sup>, either intentionally or due to time — but I’ve kept websites for them up and running for archival purposes. Originally, the sites were powered by WordPress and podcasting plugins (PowerPress and then Podlove). I didn’t want to continue paying to host the sites nor maintain a WordPress install<sup id="fnref:2"><a href="#fn:2" class="footnote-ref" role="doc-noteref">2</a></sup>, so here’s how I migrated the sites to Hugo and maintain them for about $12/yr (not including the cost of the domains).</p>
|
|
<p>I chose <a href="https://gohugo.io/">Hugo</a> because I understand how to use it. I’m sure you could make this work with other static site generators; there’s <a href="https://eleventy-plugin-podcaster.com/">an 11ty plugin</a> out there too which is far more advanced than what I’ve set up. But I built this myself with minor knowledge of how to make a website. It’s simple and it works and it probably will not need any fiddling with unless I intentionally decide to change some part of how it works. That said, if you have suggestions on how to improve or streamline this, shoot me an email! I’m sharing not because this is a perfect, optimized workflow but because I hope it might help someone.</p>
|
|
<h2 id="setting-up-a-podcast-feed-in-hugo">Setting up a podcast feed in Hugo</h2>
|
|
<p>At its core, a podcast is just audio files served by an RSS feed. Hugo already has <a href="https://gohugo.io/templates/rss/#custom-templates">an embedded RSS template</a> that it uses to syndicate your content.<sup id="fnref:3"><a href="#fn:3" class="footnote-ref" role="doc-noteref">3</a></sup> It’s a good base to start from; we’re basically going to use that and inject in the <a href="https://podcasters.apple.com/support/823-podcast-requirements">basic podcast tags</a> as well as some additional ones for newer features like chapter support.</p>
|
|
<p>First, create a new file at <code>layouts/index.podcast.xml</code>. Then, add the following to your Hugo config file (I use <code>toml</code> format, which I believe is the Hugo default).</p>
|
|
<p><code>[outputs]</code>
|
|
<code>home = ["HTML", "RSS", "podcast" ] # Sets up podcast feed</code></p>
|
|
<p><code>[outputFormats]</code>
|
|
<code>[outputFormats.podcast]</code>
|
|
<code>MediaType = "application/rss+xml"</code>
|
|
<code>BaseName = "feed" # Your feed will be located at example.org/feed.xml. If you edit this value, you need to edit line 43 in layouts/index.podcast.xml.</code></p>
|
|
<div class="footnotes" role="doc-endnotes">
|
|
<hr>
|
|
<ol>
|
|
<li id="fn:1">
|
|
<p>I think about bringing Pitch & Play back sometimes because I truly do miss podcasting and I like talking about games. I walked away from the Harry Potter one for obvious reasons, and the one before that I won’t mention because episodes of it still exist online (outside of my control) and I’d rather not attach myself to them. <a href="#fnref:1" class="footnote-backref" role="doc-backlink">↩︎</a></p>
|
|
</li>
|
|
<li id="fn:2">
|
|
<p>WordPress is a bloated monster that constantly has security patches and the founder is super problematic. <a href="#fnref:2" class="footnote-backref" role="doc-backlink">↩︎</a></p>
|
|
</li>
|
|
<li id="fn:3">
|
|
<p>This template has been updated since I set up my feeds; I’m sticking with the old version. <a href="#fnref:3" class="footnote-backref" role="doc-backlink">↩︎</a></p>
|
|
</li>
|
|
</ol>
|
|
</div>
|
|
|
|
|
|
|
|
|
|
</article>
|
|
|
|
|
|
</main>
|
|
<footer>
|
|
<ul class="social">
|
|
<li>
|
|
<a href="mailto:me@cassie.ink" aria-label="Email">
|
|
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1" stroke-linecap="round" stroke-linejoin="round" class="icon icon-tabler icons-tabler-outline icon-tabler-mail"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M3 7a2 2 0 0 1 2 -2h14a2 2 0 0 1 2 2v10a2 2 0 0 1 -2 2h-14a2 2 0 0 1 -2 -2v-10z" /><path d="M3 7l9 6l9 -6" /></svg>
|
|
</a>
|
|
</li>
|
|
<li>
|
|
<a href="/index.xml" aria-label="RSS">
|
|
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="#f26522" stroke-width="1" stroke-linecap="round" stroke-linejoin="round" class="icon icon-tabler icons-tabler-outline icon-tabler-rss">
|
|
<path stroke="none" d="M0 0h24v24H0z" fill="none" />
|
|
<path d="M5 19m-1 0a1 1 0 1 0 2 0a1 1 0 1 0 -2 0" />
|
|
<path d="M4 4a16 16 0 0 1 16 16" />
|
|
<path d="M4 11a9 9 0 0 1 9 9" />
|
|
</svg>
|
|
</a>
|
|
</li>
|
|
<li>
|
|
<a rel="me" href="https://social.lol/@cass" aria-label="Mastodon">
|
|
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="#6364ff" stroke-width="1" stroke-linecap="round" stroke-linejoin="round" class="icon icon-tabler icons-tabler-outline icon-tabler-brand-mastodon">
|
|
<path stroke="none" d="M0 0h24v24H0z" fill="none" />
|
|
<path d="M18.648 15.254c-1.816 1.763 -6.648 1.626 -6.648 1.626a18.262 18.262 0 0 1 -3.288 -.256c1.127 1.985 4.12 2.81 8.982 2.475c-1.945 2.013 -13.598 5.257 -13.668 -7.636l-.026 -1.154c0 -3.036 .023 -4.115 1.352 -5.633c1.671 -1.91 6.648 -1.666 6.648 -1.666s4.977 -.243 6.648 1.667c1.329 1.518 1.352 2.597 1.352 5.633s-.456 4.074 -1.352 4.944z" />
|
|
<path d="M12 11.204v-2.926c0 -1.258 -.895 -2.278 -2 -2.278s-2 1.02 -2 2.278v4.722m4 -4.722c0 -1.258 .895 -2.278 2 -2.278s2 1.02 2 2.278v4.722" />
|
|
</svg>
|
|
</a>
|
|
</li>
|
|
<li>
|
|
<a href="https://listenbrainz.org/user/babyspace/" aria-label="Listen Brainz">
|
|
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="#eb743b" stroke-width="1" stroke-linecap="round" stroke-linejoin="round" class="icon icon-tabler icons-tabler-outline icon-tabler-brand-metabrainz"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M3 7v10l7 4v-18z" /><path d="M21 7v10l-7 4v-18z" /></svg>
|
|
</a>
|
|
</li>
|
|
</ul>
|
|
<p class="forget">
|
|
don't forget to have fun.
|
|
</p>
|
|
<p class="copyright">
|
|
all errors © cassie
|
|
</p>
|
|
|
|
</footer>
|
|
</body>
|
|
</html>
|