HarborFM

Podcasts (Shows)

Guides for creating and managing podcast shows in HarborFM.

Creating a Show

A show (podcast) is the top-level container in HarborFM. Each show has its own episodes, library usage, and optional collaborators.

Create a New Podcast

  1. From the dashboard, click New podcast (or the create-show control).
  2. Enter a name for the show (and any other required fields).
  3. Save or continue. You'll land on the show's main page.

You can then add episodes and configure show settings. The dashboard lists all shows you own or collaborate on.

Import from RSS

From the dashboard you can import an existing podcast from an RSS URL. Import runs in the background with a dismissible progress panel (progress bar and status). The feed URL dialog closes after import starts; Import stays disabled while an import is in progress. HarborFM round-trips Podcast 2.0 show and episode metadata when present, saves cover images locally, and can import chapters.json / transcript.srt when linked (ASR is skipped when a transcript is imported).

Next Steps

Show Settings and Artwork

From the show page you can configure how your podcast appears and where it's delivered. The header groups Episodes / Analytics actions and public links (including Public Page and Reviews). Closing major edit dialogs prompts if there are unsaved changes (Keep editing / Discard).

Artwork and Metadata

  • Artwork - Upload a cover image for the show. This is used in the RSS feed and on public pages.
  • Description - Show description for the feed and any public show page.
  • Categories - Podcast categories (e.g. for Apple Podcasts).
  • Explicit - Mark the show as explicit if applicable (itunes:explicit is emitted as true / false in RSS).
  • Listen on & Follow - Platform links (Apple Podcasts, Spotify, Amazon Music, and others) and social links (including Discord under Follow). Edit via Platform & Social Links on the show.

Cast (Hosts and Guests)

Add cast members at the show level, then assign hosts and guests per episode. Public cast hosts can appear in RSS as Podcast 2.0 <podcast:person> when configured. See Episodes for per-episode assignment.

Podcast Delivery (Export)

On the show page you can configure Podcast Delivery: where the RSS feed and episode audio are deployed (e.g. S3, R2, FTP, SFTP, WebDAV, IPFS, SMB). Credentials are stored encrypted. Deploy also includes chapters.json when chapters exist. See Export and delivery.

Subscriber and Contact Options

  • Subscriber Only Messages - When Subscribers Enabled is on, the toggle Subscriber Only Messages (off by default) restricts the Message button on public podcast and episode pages to visitors signed in as subscribers.
  • Show Scheduled Episodes - The toggle Show Scheduled Episodes (off by default) appears below Allow Unapproved Reviews in Edit Podcast Details. When on, episodes that are scheduled or published with a future publish date appear on the public feed and episode pages with a Premiering [date] placeholder instead of the player; markers, waveforms, and audio are not loaded or served until the release date.
  • Keep expired episodes for subscribers - Off by default. When on, episodes past their Expires at time stay in subscriber/private feeds and private audio. The public feed and RSS always hide expired episodes. See Episodes: Expiration.
  • Reviews - You can enable optional CAPTCHA and subscriber-only reviews per podcast. Managers and owners can approve or hide reviews in the show UI. For how listeners submit and see reviews, see Public feeds and embed: Reviews.

Payments (Stripe)

If your account has Stripe enabled (canStripe), open Payments on the show to connect credential packs, attach a pack, enable Accept Stripe payments on this show, and manage plans, coupons, and refund requests. Managers can attach an existing owner pack and toggle payments; only the owner can create or edit packs. Full flow: Stripe payments.

Custom Domain and Public Page

When the podcast uses a linking or managed domain, Public Page (and dashboard Feed) open that domain instead of /feed/{slug} on the app host. Group-call join links also use the custom domain when configured. See Public feeds and embed.

See Also

Podcast 2.0 and Page Customizations

More Tab (Show and Episode)

Show and episode More tabs edit Podcast 2.0 fields such as funding, license, update frequency, block, chat, location, publisher, podroll, social interact, txt, value, and (on episodes) content links and image. Podroll can Fetch from an RSS URL to autofill fields. Matching tags are emitted in channel/item RSS (including trailers, multi-funding, podroll, soundbites, and host <podcast:person> from public cast).

Public Page Features

These appear on the public feed when configured (see Public feeds and embed):

  • Featured Trailer - Playable trailer above Listen on / Follow when listenable; omitted from the Episodes list while featured. Trailer and Bonus type pills on episode cards.
  • Recommended Podcasts - Podroll block above Reviews.
  • Support The Show - Funding links on the podcast page (and episode page, with episode links falling back to show links).

Page Customizations

Use Page Customizations for per-show page theme, accent color, and visibility toggles (author, descriptions, funding, podroll, cast, reviews, and related blocks).

Page Theme options:

  • Default HarborFM - built-in React feed layout.
  • Server-wide themes - Fluid, Folio, and any theme an admin has promoted.
  • Imported themes - packages you imported under Themes (on podcasts you own).

The picker shows preview images and a live Preview link when the theme provides them. Full details (Themes studio, package layout, mounts, gallery): Page themes.

Collaborators and Permissions

You can invite other users to work on a show with a specific role. Access is role-based; admins have full access to all shows.

Roles

Role Allowed actions
View List/read podcast and episodes, stream audio, view analytics. Read-only.
Editor Everything in view, plus: edit segments, record new sections, render/build the final episode.
Manager Everything in editor, plus: create/update episodes and episode artwork, edit show details, configure Podcast Delivery, manage collaborators (invite, change role, remove). Can attach an owner Stripe pack and toggle payments.
Owner Full control. Only the owner can delete the podcast or transfer ownership. Only the owner can create, edit, or delete Stripe credential packs.
  • New episode is available only to managers and the owner; view and editor roles see it disabled.
  • Storage for the show (recorded segments, episode source audio) counts against the podcast owner's storage limit. If the owner is at or near their limit, Record new section may be disabled for everyone on that show.
  • Stripe (canStripe) is an account flag, not a show role. It gates whether the user can use Stripe Payments at all. See Stripe payments.
  • Page themes (canImportTheme) is an account flag, not a show role. It gates whether the user can import, download, and edit theme packages. See Page themes.

Inviting Collaborators

  1. Open the show and go to Collaborators (or the show's settings area).
  2. Click to invite a collaborator.
  3. Enter the collaborator's email and choose a role (view, editor, manager).
  4. Send the invite. If the person doesn't have an account yet, the UI can send an "invite to the platform" email (rate-limited by the instance).

They'll see the show on their dashboard according to their role.

Managing Collaborators

From the same Collaborators section you can change a user's role or remove them. Only managers and the owner can manage collaborators; only the owner can delete the show or transfer ownership.

See Also