Self-Hosting PodPeopleDB

Getting Started with Self-Hosting

PodPeopleDB is designed to be easily self-hosted using Docker and Docker Compose. This guide will walk you through setting up your own instance.

Prerequisites

Quick Start

  1. Clone the repository:
    git clone https://github.com/madeofpendletonwool/podpeople-db.git
    cd podpeople-db
  2. Create your docker-compose.yml file:
    services:
        podpeopledb:
            image: madeofpendletonwool/podpeople_db:latest
            ports:
              - "8085:8085"
            environment:
              - ADMIN_USERNAME=your_admin_username
              - ADMIN_PASSWORD=your_secure_password
              - SEARCH_API_URL=https://my-podcast-index-backend:5000
              - NTFY_URL=https://your-ntfy-instance
              - NTFY_TOPIC=your-secret-topic
              - BASE_URL=https://your-podpeople-domain.com
            volumes:
              - /path/to/your/data:/app/podpeople-data
    Note on the SEARCH_API_URL, that is how PodPeople accesses the PodcastIndex. For information on setting up that container. See here

Environment Variables

Variable Description Required
ADMIN_USERNAME Username for the admin dashboard Yes
ADMIN_PASSWORD Password for the admin dashboard Yes
SEARCH_API_URL URL for the podcast search API Yes
NTFY_URL Your ntfy server URL No
NTFY_TOPIC Your ntfy topic for notifications No
BASE_URL Your PodPeopleDB instance URL No

Setting Up Notifications

PodPeopleDB uses ntfy for notifications about new host submissions. To set this up:

  1. Set up a ntfy server or use a public instance like ntfy.sh
  2. Create a unique topic name that's not easily guessable
  3. Configure the NTFY_URL and NTFY_TOPIC environment variables
  4. Install the ntfy app on your mobile device
  5. Subscribe to your topic in the app

Database Management

The SQLite database is stored in the mounted volume at /app/podpeople-data. Important considerations:

Security Considerations

Updating PodPeopleDB

# Pull the latest image
docker-compose pull

# Restart the service
docker-compose up -d

Troubleshooting