Templates/Podcast Studio
Next.js + Fastifyfullstack

Podcast Studio

Self-hosted multi-speaker WebRTC podcast platform with HLS audience, recording, and superchat. Media on LiveKit Cloud, storage on Cloudflare R2.

WebRTCLiveKitNext.jsFastifyPostgresMulti-service

One-click deploy

Pick a project, fill any required env vars, and Launchmatic scaffolds the code, builds it, and deploys to your own SSL-secured URL.

Configuration

ADMIN_EMAIL required — Email of the initial admin user.

LIVEKIT_URL required — wss:// URL from LiveKit Cloud → Settings → Keys.

LIVEKIT_API_KEY required — LiveKit Cloud API key.

LIVEKIT_API_SECRET required — LiveKit Cloud API secret.

S3_ENDPOINT required — Cloudflare R2 S3 endpoint.

S3_BUCKET required — R2 bucket for recordings + HLS segments.

S3_ACCESS_KEY required — R2 access key ID.

S3_SECRET_KEY required — R2 secret access key.

PUBLIC_HLS_URL required — Public CDN URL for HLS (Cloudflare custom domain on the R2 bucket).

STRIPE_SECRET_KEY optional — Stripe secret key — only if using superchat.

STRIPE_WEBHOOK_SECRET optional — Stripe webhook signing secret.

Or deploy from the CLI

npm i -g @launchmatic/cli && lm login
lm template deploy podcast-studio -e ADMIN_EMAIL=...

Add a deploy button to your README

Share this stack: the badge links straight to this page, and the deploy button takes it from there.

Deploy on Launchmatic
[![Deploy on Launchmatic](https://launchmatic.com/deploy-badge.svg)](https://launchmatic.com/templates/podcast-studio)