Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Installation

Installation with Docker

Installation with Docker (SQLite)

version: '3'
services:
  podfetch:
    image: samuel19982/podfetch:latest
    user: ${UID:-1000}:${GID:-1000}
    ports:
      - "80:8000"
    volumes:
      - podfetch-podcasts:/app/podcasts
      - podfetch-db:/app/db
    environment:
      - POLLING_INTERVAL=60
      - DATABASE_URL=sqlite:///app/db/podcast.db

volumes:
    podfetch-podcasts:
    podfetch-db:
VariableDescriptionDefault
POLLING_INTERVALInterval in minutes to check for new episodes300
PORTThe port PodFetch listens on8000
SUB_DIRECTORYSub-path when hosting behind a reverse proxy (e.g. /podfetch)(none)
DATABASE_URLURL of the databasesqlite://./db/podcast.db
PODFETCH_FOLDERDirectory (inside the container) where podcast files are storedpodcasts

It is important to change UID and GID to your user id and group id so that the files are owned by you and not by root. Docker will create the volumes by default as root and podfetch will not be able to write to them.

Storing podcasts on a different drive

In most cases you don’t need PODFETCH_FOLDER. To put podcast files on a different drive (e.g. a separate HDD while the rest of the container stays on an SSD), just bind-mount that drive to the default /app/podcasts:

volumes:
  - /mnt/hdd/podcasts:/app/podcasts
  - podfetch-db:/app/db

If you do want to change the in-container path, set PODFETCH_FOLDER and mount the drive at that path. The directory (and any missing parents) will be created on startup.

Installation with Docker (Postgres)

To use postgres you need to set the following environment variables:

- DATABASE_URL=postgres://postgres:postgres@postgres:5432/podfetch

Installation without Docker

Requirements

  • Download the latest release from the release page
  • Create a shell script that sets the above environment variables and starts the podfetch binary
  • Make the shell script executable
  • Run the shell script

Terraform

For terraform have a look at the setup directory. There you will find everything needed to start with your infrastructure as code.