### Examples of Command-Specific Help Source: https://podfetch-docs.samtv.fyi/CLI.html Illustrates how to get help for specific commands like 'users' or 'podcasts'. ```bash podfetch users --help podfetch podcasts --help ``` -------------------------------- ### Setup Podfetch Development Environment Source: https://podfetch-docs.samtv.fyi/print.html Sets up the Podfetch development environment. This involves creating a placeholder HTML file, running the Rust application, and installing UI dependencies. ```bash # File just needs to be there touch static/index.html cargo.exe run --color=always --package podfetch --bin podfetch cd ui install run dev ``` -------------------------------- ### Setup Project Files Source: https://podfetch-docs.samtv.fyi/Contributing.html Create the necessary static index file for the project. ```bash touch static/index.html ``` -------------------------------- ### Run UI Development Server Source: https://podfetch-docs.samtv.fyi/Contributing.html Start the development server for the UI using npm, yarn, or pnpm. ```bash run dev ``` -------------------------------- ### Install UI Dependencies Source: https://podfetch-docs.samtv.fyi/Contributing.html Navigate to the UI directory and install project dependencies using npm, yarn, or pnpm. ```bash cd ui install ``` -------------------------------- ### Show PodFetch CLI Help Source: https://podfetch-docs.samtv.fyi/CLI.html Displays general help information for the PodFetch CLI. Use this to get an overview of available commands. ```bash podfetch --help ``` -------------------------------- ### Get Podfetch CLI Help Source: https://podfetch-docs.samtv.fyi/print.html Displays help information for the Podfetch CLI. Use `--help` for general commands or ` --help` for specific command details. ```bash podfetch --help ``` ```bash podfetch --help ``` ```bash podfetch users --help podfetch podcasts --help ``` -------------------------------- ### Mounting External Storage for Podcasts Source: https://podfetch-docs.samtv.fyi/print.html Example of how to bind-mount an external drive to the default podcast directory within the container. This is useful for storing podcast files on a different drive. ```yaml __ volumes: - /mnt/hdd/podcasts:/app/podcasts - podfetch-db:/app/db ``` -------------------------------- ### Control RSS Feed Output with 'top' Parameter Source: https://podfetch-docs.samtv.fyi/rss_feed.html You can control the number of items returned by the RSS feed using the 'top' parameter. This example shows how to get the latest 5 items. ```url http:///rss?top=5 ``` -------------------------------- ### Authelia OIDC Client Configuration Source: https://podfetch-docs.samtv.fyi/AUTH.html Example configuration for an OIDC client within Authelia. Adjust authorization_policy and consent_mode as needed. ```yaml __ - id: podfetch description: Podfetch public: true authorization_policy: one_factor scopes: - openid - profile - email consent_mode: explicit redirect_uris: - https://podfetch.DOMAIN.COM/ui/login userinfo_signing_algorithm: none ``` -------------------------------- ### Run PodFetch in Agent Mode Source: https://podfetch-docs.samtv.fyi/CLI.html Starts PodFetch in agent mode to connect to a remote instance and control local Chromecast devices. Requires a remote URL, API key, and an agent ID. ```bash podfetch --agent \ --remote https://podfetch.example.com \ --api-key YOUR_USER_API_KEY \ --agent-id home-lan ``` -------------------------------- ### Run PodFetch Agent for Chromecast Relay Source: https://podfetch-docs.samtv.fyi/Chromecast.html Use this command to start the PodFetch agent on a machine within the local network. It connects to a remote PodFetch instance and forwards playback commands to local Chromecasts. Ensure you replace placeholders with your actual remote URL and API key. ```bash podfetch --agent \ --remote https://podfetch.example.com \ --api-key YOUR_USER_API_KEY \ --agent-id home-lan ``` -------------------------------- ### Access PodFetch RSS Feed Source: https://podfetch-docs.samtv.fyi/rss_feed.html Use this URL to get the latest updates from the PodFetch site. Replace '' with your actual IP address. ```url http:///rss ``` -------------------------------- ### PodFetch User Creation Prompt Source: https://podfetch-docs.samtv.fyi/tutorials/GPodder.html This is a sample interaction when creating a user via the command line. You will be prompted to enter a username, password, and select a role. ```text Starting from command line User management Enter your username: myUsername User does not exist Enter your password: Select your role user, admin, uploader user Should a user with the following settings be applied User { id: 0, username: "myUsername", role: "user", password: Some("myPassword"), explicit_consent: false, created_at: 2023-07-22T10:39:59.297771400 } Y[es]/N[o] Yes User succesfully created ``` -------------------------------- ### Show Command-Specific Help Source: https://podfetch-docs.samtv.fyi/CLI.html Displays help for a specific PodFetch command. Replace `` with the command you need help with. ```bash podfetch --help ``` -------------------------------- ### Run Podfetch Application Source: https://podfetch-docs.samtv.fyi/Contributing.html Execute the Podfetch binary using Cargo, ensuring colorized output. ```bash cargo.exe run --color=always --package podfetch --bin podfetch ``` -------------------------------- ### Configure Basic Authentication in PodFetch Source: https://podfetch-docs.samtv.fyi/AUTH.html Set these environment variables to enable Basic Authentication. Ensure all three are set, otherwise the container may crash. ```bash BASIC_AUTH=true USERNAME=your_username PASSWORD=your_password ``` -------------------------------- ### Add a User via Command Line Source: https://podfetch-docs.samtv.fyi/tutorials/GPodder.html Use this command to add a new user to PodFetch via the command line. This is necessary for AntennaPod authentication. ```bash docker ps #This will help you obtain the container's id and name docker exec -it /app/podfetch users add ``` -------------------------------- ### Configure OIDC with Authelia Source: https://podfetch-docs.samtv.fyi/AUTH.html PodFetch configuration when using Authelia for OIDC. Ensure Authelia is set up on a subdomain and PodFetch is on its own subdomain. ```bash OIDC_AUTH=true OIDC_AUTHORITY=https://auth.DOMAIN.COM OIDC_CLIENT_ID=podfetch OIDC_REDIRECT_URI=https://podfetch.DOMAIN.COM/ui/login OIDC_SCOPE=openid profile email OIDC_JWKS=https://auth.DOMAIN.COM/jwks.json ``` -------------------------------- ### Docker Compose for PodFetch Source: https://podfetch-docs.samtv.fyi/Installation.html Sets up the PodFetch service using Docker Compose, defining image, user, ports, volumes, and environment variables. Ensure UID and GID match your user to avoid permission issues. ```yaml 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: ``` -------------------------------- ### Promote User to Admin via CLI Source: https://podfetch-docs.samtv.fyi/AUTH.html After logging in with OIDC as a user, use this command to promote them to an admin role. Replace `$PODFETCH` with your container name and `sam` with the desired username. ```bash docker exec -it $PODFETCH /app/podfetch users update ``` -------------------------------- ### Add User via Command Line Source: https://podfetch-docs.samtv.fyi/print.html Use docker exec to add a new user to PodFetch. This command opens an interactive dialog for setting username, password, and role. ```bash docker ps #This will help you obtain the container's id and name docker exec -it /app/podfetch users add ``` ```text Starting from command line User management Enter your username: myUsername User does not exist Enter your password: Select your role user, admin, uploader user Should a user with the following settings be applied User { id: 0, username: "myUsername", role: "user", password: Some("myPassword"), explicit_consent: false, created_at: 2023-07-22T10:39:59.297771400 } Y[es]/N[o] Yes User succesfully created ``` -------------------------------- ### Promote User to Admin via CLI Source: https://podfetch-docs.samtv.fyi/print.html Use this command to promote a user to admin or uploader after logging in with OIDC. Ensure the podfetch container is correctly identified. ```bash docker exec -it $PODFETCH /app/podfetch users update ``` -------------------------------- ### Docker Compose for PodFetch Source: https://podfetch-docs.samtv.fyi/print.html This docker-compose file sets up the PodFetch service with persistent storage for podcasts and the database. Ensure UID and GID match your user for correct file permissions. ```yaml __ 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: ``` -------------------------------- ### Configure Basic Authentication Environment Variables Source: https://podfetch-docs.samtv.fyi/tutorials/BasicAuth.html Set these environment variables within the PodFetch service in your docker-compose file to enable and configure basic authentication. Remember to use secure credentials. ```yaml BASIC_AUTH: true USERNAME: test PASSWORD: test ``` -------------------------------- ### Configure Reverse Proxy Authentication Source: https://podfetch-docs.samtv.fyi/AUTH.html Enable reverse proxy authentication by setting these variables. This allows a reverse proxy to handle authentication before requests reach PodFetch. ```bash REVERSE_PROXY=true REVERSE_PROXY_HEADER=X-FORWARDED-FOR REVERSE_PROXY_AUTO_SIGN_UP=true ``` -------------------------------- ### Configure PodFetch for PostgreSQL Source: https://podfetch-docs.samtv.fyi/Installation.html Sets the DATABASE_URL environment variable to connect PodFetch to a PostgreSQL database. Ensure the connection string includes the correct credentials and host information. ```bash - DATABASE_URL=postgres://postgres:postgres@postgres:5432/podfetch ``` -------------------------------- ### Configure OIDC Authentication in PodFetch Source: https://podfetch-docs.samtv.fyi/AUTH.html Enable OIDC authentication by setting these variables. OIDC_AUTH must be true, and BASIC_AUTH must be disabled when using OIDC. ```bash OIDC_AUTH=true OIDC_AUTHORITY=/realms/master OIDC_CLIENT_ID=podfetch OIDC_REDIRECT_URI=/ui/login OIDC_SCOPE=openid profile email OIDC_JWKS=/realms/master/protocol/openid-connect/certs ``` -------------------------------- ### PostgreSQL Database Configuration Source: https://podfetch-docs.samtv.fyi/print.html Environment variable configuration to connect PodFetch to a PostgreSQL database. Ensure the database server is accessible and credentials are correct. ```env __ - DATABASE_URL=postgres://postgres:postgres@postgres:5432/podfetch ``` -------------------------------- ### Mounting External Drive for Podcasts Source: https://podfetch-docs.samtv.fyi/Installation.html Configures PodFetch to store podcast files on a separate drive by bind-mounting an external directory to the default podcast storage path within the container. This is useful for managing storage on different drives. ```yaml volumes: - /mnt/hdd/podcasts:/app/podcasts - podfetch-db:/app/db ``` -------------------------------- ### Execute PodFetch Command in Docker Container Source: https://podfetch-docs.samtv.fyi/CLI.html Executes a PodFetch command within a running Docker container. First, find the container ID using `docker ps`, then use `docker exec`. ```bash docker ps #This will help you obtain the container's id and name docker exec -it /app/podfetch # Will execute your desired command in the container ``` -------------------------------- ### Test Direct API Access with Curl Source: https://podfetch-docs.samtv.fyi/print.html Use this command to verify if the PodFetch API endpoint is directly accessible and returning the expected OPML content. This helps isolate issues related to reverse proxies or client configurations. ```bash curl -i -u : https:///subscriptions/.opml ``` -------------------------------- ### Test OPML Endpoint with Curl Source: https://podfetch-docs.samtv.fyi/tutorials/Kodi.html Use curl to verify that the PodFetch OPML endpoint is accessible and returns a 200 OK status with the correct content type. This helps diagnose reverse proxy issues. ```bash curl -i -u : https:///subscriptions/.opml ``` === COMPLETE CONTENT === This response contains all available snippets from this library. No additional content exists. Do not make further requests.