Summary
Allow running multiple independent podcasts from a single Morsel installation on the same host.
Motivation
Currently Morsel is configured for a single podcast — one email inbox, one feed file, one set of episodes. It would be useful to host multiple podcasts (e.g. different topics, different recipients) from the same machine without needing separate installations.
Proposed approach
Each podcast would need its own:
- Email inbox — a separate AgentMail inbox so links for different podcasts don't get mixed together
- RSS feed file — a distinct feed XML file per podcast, each with its own metadata (title, description, etc.)
- Episode storage path — separate prefixes/folders in S3 storage to keep audio files organized
- Config section — per-podcast configuration for Claude prompt, TTS voice, allowed senders, etc.
Possible implementation ideas
- Move from a single
config.json to a multi-podcast config structure (e.g. a podcasts array, each with its own inbox, feed path, S3 prefix, and podcast metadata)
- The poller and daily cron job would iterate over each podcast config
- Alternatively, support multiple config files (e.g.
config.podcast1.json, config.podcast2.json) and run each independently
Example use cases
- A personal podcast for tech articles and a separate one for cooking/recipes
- Different podcasts for different family members sharing the same server
- A team running topic-specific digests from one machine
Summary
Allow running multiple independent podcasts from a single Morsel installation on the same host.
Motivation
Currently Morsel is configured for a single podcast — one email inbox, one feed file, one set of episodes. It would be useful to host multiple podcasts (e.g. different topics, different recipients) from the same machine without needing separate installations.
Proposed approach
Each podcast would need its own:
Possible implementation ideas
config.jsonto a multi-podcast config structure (e.g. apodcastsarray, each with its own inbox, feed path, S3 prefix, and podcast metadata)config.podcast1.json,config.podcast2.json) and run each independentlyExample use cases