SamTV12345 / PodFetch

A sleek and efficient podcast downloader.
https://samtv12345.github.io/PodFetch
Apache License 2.0
347 stars 25 forks source link

Unable to access PodFetch RSS or system information page #525

Closed SBCV-apegram closed 9 months ago

SBCV-apegram commented 9 months ago

Describe the bug

On the podcast info page, when I click the link to access the PodFetch RSS feed, it takes me to a page that says 'Unauthorized'. No entry shows in the docker container logs.

A similar issue happens when making API calls (such as using the System Information page). Accessing the System Information has the additional symptom of throwing a 'IO extra error: Permission denied (os error 13) for path podcasts' error in the docker container log. I've confirmed that the folder is owned by the correct user/group indicated in the docker compose file.

Reproduction

Fresh install from latest docker image with GPodder and basic auth enabled using postgre and reverse proxy with websockets

System Info

Latest docker image running on Docker 20.10.23-1437 (DSM Container Manager). Host is a Synology DS720+ running DSM 7.2.1-69057 Update 3

Used Package Manager

n/a

Validations

SamTV12345 commented 9 months ago

You can login to PodFetch and refresh the API key. That way you get access to the RSS feeds.

SBCV-apegram commented 9 months ago

This did not solve my issue. I logged out, logged back in, and refreshed my API key.

I also redeployed with the latest image, still with the same issues.

Below is my docker compose file:

version: '3.9'
services:
  podfetch:
    image: samuel19982/podfetch:latest
    container_name: PodFetch
    user: <user>:<group>
    ports:
      - 4135:8000
    volumes:
      - /volume1/docker/podfetch:/app/podcasts:rw
    environment:
      - POLLING_INTERVAL=300
      - SERVER_URL=https://<domain>
      - DATABASE_URL=postgresql://postgres:changeme@postgres/podfetch
      - GPODDER_INTEGRATION_ENABLED=true
      - BASIC_AUTH=true
      - USERNAME=<username>
      - PASSWORD=<password>
    restart: on-failure:5

  postgres:
    image: postgres
    container_name: PodFetch-DB
    security_opt:
      - no-new-privileges:true
    healthcheck:
      test: ["CMD", "pg_isready", "-q", "-d", "podfetch", "-U", "postgres"]
    environment:
      POSTGRES_USER: postgres
      POSTGRES_PASSWORD: changeme
      POSTGRES_DB: podfetch
    volumes:
      - /volume1/docker/podfetch/db:/var/lib/postgresql/data:rw
    restart: on-failure:5
SamTV12345 commented 9 months ago

Sorry for the inconvenience. I'll take a look at it.

SBCV-apegram commented 9 months ago

Thanks! Let me know if there's any other info you need. I found this project after learning that Google Podcasts is shutting down, and am glad to have a podcast server that won't shutdown until I tell it to...

SBCV-apegram commented 9 months ago

Alright, I figured out the RSS feed issue from looking at #520 . If I append the API key to the URL, it works. /ui/podcasts/<id>/episodes needs to be updated to include the API key in the local URL.

I also noticed looking at the raw local RSS feed that the assets are still being pulled from the public servers (thumbnails and audio). Is this by design?

Still having trouble with the System Information page.

SamTV12345 commented 9 months ago

Thanks for the hint. I fixed the first issue.

The other one is weird. You can add podcasts via the web UI but you can't get the readout of the podcast file size folder?

SBCV-apegram commented 9 months ago

That's what I was missing... I figured out my error. Following the instructions on Marius Hosting, I put the DB folder in the same folder in which the podcasts are saved... Postgre changed the permissions of that folder, so your app couldn't read the size. I moved the podcasts to a subfolder, reloaded the stack, and we're good to go. I'll contact the creator of the tutorial and see if he'll update it (there's another change that needs to be made).

Thanks for all your work on this project!

SBCV-apegram commented 9 months ago

Found another missing API key. When the local RSS feds are generated, the <link> and <itunes:new-feed-url> don't include the API key. Endpoints <server>/rss and <server>/rss/<id>.

SamTV12345 commented 9 months ago

Should be hopefully fixed.

SamTV12345 commented 9 months ago

That's what I was missing... I figured out my error. Following the instructions on Marius Hosting, I put the DB folder in the same folder in which the podcasts are saved... Postgre changed the permissions of that folder, so your app couldn't read the size. I moved the podcasts to a subfolder, reloaded the stack, and we're good to go. I'll contact the creator of the tutorial and see if he'll update it (there's another change that needs to be made).

Thanks for all your work on this project!

Thanks for contacting him. If you find more bugs feel free to submit them. I am currently a bit busy with studying for my masters but I am always open to fix bugs in the app.