No description
Find a file
Cody Cook 5f1e0efa92
Some checks failed
Build and Publish / test (push) Failing after 7s
Build and Publish / build (push) Has been skipped
Build and Publish / notify (push) Successful in 1s
Fix the python versiob
2025-06-17 20:27:37 -07:00
.forgejo/workflows Fix the python versiob 2025-06-17 20:27:37 -07:00
.idea Initial commit 2025-06-14 22:53:38 -07:00
app Docker and more calendar work 2025-06-17 16:00:46 -07:00
migrations Docker and more calendar work 2025-06-17 16:00:46 -07:00
static/css Docker and more calendar work 2025-06-17 16:00:46 -07:00
templates Docker and more calendar work 2025-06-17 16:00:46 -07:00
.drone.yml Build packages, maybe? 2025-06-17 20:17:23 -07:00
.env.example Build packages, maybe? 2025-06-17 19:37:05 -07:00
.gitignore Build packages, maybe? 2025-06-17 19:37:05 -07:00
application.py Docker and more calendar work 2025-06-17 16:00:46 -07:00
check_db.py Docker and more calendar work 2025-06-17 16:00:46 -07:00
docker-compose.override.yml.example Build packages, maybe? 2025-06-17 19:37:05 -07:00
docker-compose.yml Build packages, maybe? 2025-06-17 19:37:05 -07:00
docker-entrypoint.sh Docker and more calendar work 2025-06-17 16:00:46 -07:00
Dockerfile Docker and more calendar work 2025-06-17 16:00:46 -07:00
init_db.py Add podgrab featureset 2025-06-16 22:55:39 -07:00
main.py Add podgrab featureset 2025-06-16 22:55:39 -07:00
MIGRATION_GUIDE.md Add podgrab featureset 2025-06-16 22:55:39 -07:00
README.md Add podgrab featureset 2025-06-16 22:55:39 -07:00
README_ACTIONS.md Build packages, maybe? 2025-06-17 20:17:28 -07:00
README_CHANGES.md Build packages, maybe? 2025-06-17 20:19:00 -07:00
README_DATABASE_FIX.md Add podgrab featureset 2025-06-16 22:55:39 -07:00
README_DATABASE_FIX_V2.md Add podgrab featureset 2025-06-16 22:55:39 -07:00
README_DOCKER.md Docker and more calendar work 2025-06-17 16:00:46 -07:00
README_FIX.md Add podgrab featureset 2025-06-16 22:55:39 -07:00
README_FORGEJO.md Build packages, maybe? 2025-06-17 20:17:23 -07:00
README_SOLUTION.md Initial commit 2025-06-14 22:53:38 -07:00
README_SOLUTION_DB_PATH.md Add podgrab featureset 2025-06-16 22:55:39 -07:00
requirements.txt Add podgrab featureset 2025-06-16 22:55:39 -07:00
run_migrations.py Add podgrab featureset 2025-06-16 22:55:39 -07:00
SOLUTION.md Add podgrab featureset 2025-06-16 22:55:39 -07:00
test_migration.py Add podgrab featureset 2025-06-16 22:55:39 -07:00

Podcastrr

A podcast management application similar to Sonarr but for podcasts, built with Python and Flask.

Features

  • Search for Podcasts: Find podcasts from various sources
  • Track Podcasts: Monitor your favorite podcasts for new episodes
  • Download Management: Automatically download new episodes and manage storage
  • Complete Podcast Archive: Download all episodes of a podcast with one click
  • Custom Naming: Configure how downloaded files are named
  • Tag/Label System: Organize podcasts into groups with tags
  • Direct RSS Feed: Add podcasts using direct RSS feed URLs
  • OPML Import/Export: Easily import and export podcast subscriptions
  • Existing Episode Detection: Prevent re-downloading files if already present
  • Web Interface: Manage everything through an intuitive web interface

Requirements

  • Python 3.8+
  • Dependencies listed in requirements.txt

Installation

  1. Clone the repository:

    git clone https://github.com/yourusername/podcastrr.git
    cd podcastrr
    
  2. Create and activate a virtual environment:

    python -m venv .venv
    # On Windows
    .venv\Scripts\activate
    # On macOS/Linux
    source .venv/bin/activate
    
  3. Install dependencies:

    pip install -r requirements.txt
    
  4. Create a .env file in the root directory with the following variables:

    FLASK_ENV=development
    SECRET_KEY=your_secret_key
    DATABASE_URI=sqlite:///podcastrr.db
    DOWNLOAD_PATH=/path/to/downloads
    
  5. Initialize the database:

    python init_db.py
    

    This will create the database and run all necessary migrations.

  6. If you're updating an existing installation and encounter database errors:

    python run_migrations.py
    

    This will apply any pending migrations to your database. See the Migration Guide for more details.

Usage

Run the application:

python main.py

Then open your browser and navigate to http://localhost:5000.

Development

  1. Install development dependencies:

    pip install -r requirements-dev.txt
    
  2. Run tests:

    pytest
    
  3. Format code:

    black .