Skip to content

BrunoAFK/Podcaster

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Podcaster

Daily Feed Validation

Automated RSS feed generator for Croatian Radio shows not available in podcast apps.




Feeds

Show Schedule Subscribe
Vijesti Every hour podcast.pavelja.me/vijesti
Jutarnja kronika Weekday mornings podcast.pavelja.me/jutarnja-kronika

How It Works

HRT Website ──> Scraper (Python) ──> RSS Feed (XML) ──> Your Podcast App
                    │
                    └── runs every 5 minutes via cron
  1. Scraper fetches episode data from HRT
  2. Generates standard RSS/podcast XML
  3. Nginx serves feeds
  4. Subscribe in any podcast app

Self-Hosting

Prerequisites

  • Docker & Docker Compose
  • (Optional) Telegram Bot for notifications

Setup

# Clone
git clone https://github.com/BrunoAFK/Podcaster.git
cd Podcaster

# Configure
cp .env.example .env
vim .env

# Run
docker compose up -d

Configuration

Variable Description Default
DOMAIN Your domain localhost
HOST_PORT Nginx port 8080
FEEDS Feed mappings jutarnja-kronika:jk.xml,vijesti:v.xml
MAX_EPISODES Episodes to keep 30
TELEGRAM_BOT_TOKEN Telegram bot
TELEGRAM_CHAT_ID Chat ID

Commands

# View logs
docker compose logs -f jk_feed

# Manual fetch
docker compose run --rm v_feed /app/shared/run.sh --fetch-all

# Restart
docker compose restart

Project Structure

├── compose.yaml        # Docker services
├── Dockerfile          # Python container
├── nginx.conf          # Web server
├── feeds/              # Generated RSS + landing page
├── scripts_jk/         # Jutarnja kronika scraper
├── scripts_v/          # Vijesti scraper
├── shared/             # Shared scripts
└── logs/               # Application logs

Stack

  • Python — Scraping & RSS generation (feedgen, requests, beautifulsoup4)
  • Docker — Containerized services
  • Nginx — Static file serving
  • Cron — Scheduled execution
  • Telegram — Notifications (optional)

License

MIT


Unofficial RSS distribution. Audio content belongs to respective broadcasters.

About

Automated Docker-based scraper for Croatian Radio (HRT) websites, generating and serving RSS podcast feeds with Telegram notifications.

Topics

Resources

Stars

Watchers

Forks

Contributors