99 lines
No EOL
2.3 KiB
Markdown
99 lines
No EOL
2.3 KiB
Markdown
# Docker Setup for Podcastrr
|
|
|
|
This document explains how to run Podcastrr using Docker and Docker Compose.
|
|
|
|
## Prerequisites
|
|
|
|
- [Docker](https://docs.docker.com/get-docker/)
|
|
- [Docker Compose](https://docs.docker.com/compose/install/)
|
|
|
|
## 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. |