podcastrr/README_DOCKER.md
2025-06-17 16:00:46 -07:00

2.3 KiB

Docker Setup for Podcastrr

This document explains how to run Podcastrr using Docker and Docker Compose.

Prerequisites

Quick Start

  1. Clone the repository:

    git clone https://github.com/yourusername/podcastrr.git
    cd podcastrr
    
  2. Start the application using Docker Compose:

    docker-compose up -d
    
  3. Access the application at http://localhost:5000

Configuration

The application is configured using environment variables in the docker-compose.yml file. You can modify these variables to customize the application:

  • FLASK_ENV: Set to development for development mode or production for production mode
  • SECRET_KEY: A secret key for securing the Flask application (change this to a secure random string)
  • DATABASE_URI: The URI for the SQLite database
  • DOWNLOAD_PATH: The path where podcast episodes will be downloaded
  • LOG_LEVEL: The logging level (INFO, DEBUG, WARNING, ERROR, CRITICAL)

Persistent Data

The Docker Compose configuration creates two volumes for persistent data:

  1. ./downloads:/app/downloads: Stores downloaded podcast episodes
  2. ./instance:/app/instance: Stores the SQLite database

These directories will be created in your project folder and will persist data between container restarts.

Building the Docker Image

If you've made changes to the application code and want to rebuild the Docker image:

docker-compose build

Stopping the Application

To stop the application:

docker-compose down

Viewing Logs

To view the application logs:

docker-compose logs -f

Troubleshooting

Database Issues

If you encounter database issues, you can try:

  1. Stopping the application:

    docker-compose down
    
  2. Removing the instance directory:

    rm -rf instance
    
  3. Starting the application again:

    docker-compose up -d
    

This will recreate the database from scratch.

Permission Issues

If you encounter permission issues with the downloads or instance directories, ensure that they are writable by the Docker container:

chmod -R 777 downloads instance

Note: This is not recommended for production environments. Instead, configure proper user permissions.