Add PodFetch (#307)

* Add Podfetch

* Update Index

* Resolve Changes
This commit is contained in:
DrMxrcy 2023-04-04 17:06:11 -04:00 committed by GitHub
parent 5248989b08
commit e12f024c5d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 141 additions and 0 deletions

View File

@ -78,6 +78,7 @@ This is the official repository for the Tipi App Store. It contains all the apps
- [Photoprism](https://github.com/photoprism/photoprism) - AI-Powered Photos App for the Decentralized Web. We are on a mission to protect your freedom and privacy.
- [Pihole](https://github.com/pi-hole/pi-hole) - A black hole for Internet advertisements
- [Plex](https://github.com/plexinc/pms-docker) - Stream Movies & TV Shows
- [PodFetch](https://github.com/SamTV12345/PodFetch) - A sleek and efficient podcast downloader.
- [Portainer](https://github.com/portainer/portainer) - Making Docker and Kubernetes management easy.
- [PrivateBin](https://github.com/PrivateBin/PrivateBin) - A minimalist, open source online pastebin where the server has zero knowledge of pasted data
- [Prowlarr](https://github.com/Prowlarr/Prowlarr/) - A torrent/usenet indexer manager/proxy

49
apps/podfetch/config.json Normal file
View File

@ -0,0 +1,49 @@
{
"$schema": "../schema.json",
"name": "PodFetch",
"port": 8177,
"available": true,
"exposable": true,
"id": "podfetch",
"tipi_version": 1,
"version": "v2:latest",
"categories": ["media"],
"description": "A sleek and efficient podcast downloader.",
"short_desc": "A sleek and efficient podcast downloader.",
"author": "SamTV12345",
"source": "https://github.com/SamTV12345/PodFetch",
"form_fields": [
{
"type": "text",
"label": "PodFetch Username",
"max": 50,
"min": 3,
"required": true,
"env_variable": "PODFETCH_USERNAME"
},
{
"type": "password",
"label": "PodFetch Password",
"max": 50,
"min": 8,
"required": true,
"env_variable": "PODFETCH_PASSWORD"
},
{
"type": "text",
"label": "Podcast Index API Key",
"hint": "The API key sent to you via mail",
"placeholder": "",
"required": false,
"env_variable": "PODFETCH_PODINDEX_API_KEY"
},
{
"type": "text",
"label": "Podcast Index API Secret",
"hint": "The API secret sent to you via mail",
"placeholder": "",
"required": false,
"env_variable": "PODFETCH_PODINDEX_API_SECRET"
}
]
}

View File

@ -0,0 +1,30 @@
version: "3"
services:
podfetch:
container_name: podfetch
image: samuel19982/podgrabv2:latest
ports:
- ${APP_PORT}:8000
volumes:
- ${APP_DATA_DIR}/data/podfetch-db:/app/db
- ${ROOT_FOLDER_HOST}/media/data/podcasts:/app/podcasts
environment:
- BASIC_AUTH=true
- USERNAME=${PODFETCH_USERNAME}
- PASSWORD=${PODFETCH_PASSWORD}
- POLLING_INTERVAL=60
- SERVER_URL=${APP_PROTOCOL:-http}://${APP_DOMAIN}
- PODINDEX_API_KEY="${PODFETCH_PODINDEX_API_KEY}"
- PODINDEX_API_SECRET="${PODFETCH_PODINDEX_API_SECRET}"
restart: unless-stopped
networks:
- tipi_main_network
labels:
traefik.enable: ${APP_EXPOSED}
traefik.http.routers.podfetch.rule: Host(`${APP_DOMAIN}`)
traefik.http.routers.podfetch.entrypoints: websecure
traefik.http.routers.podfetch.service: podfetch
traefik.http.routers.podfetch.tls.certresolver: myresolver
traefik.http.services.podfetch.loadbalancer.server.port: 8000

View File

@ -0,0 +1,61 @@
Podfetch is a self-hosted podcast manager. It is a web app that lets you download podcasts and listen to them online. It is written in Rust and uses React for the frontend.
Every time a new commit is pushed to the main branch, a new docker image is built and pushed to docker hub. So it is best to use something like [watchtower](https://github.com/containrrr/watchtower) to automatically update the docker image.
# API Info
Sign up for an [Podcast Index](https://api.podcastindex.org/signup) account to get an API key.
---
## Folder Info
| Root Folder | Container Folder |
|---------------------------------------------|------------------|
| /runtipi/app-data/podfetch/data/podfetch-db | /app/db |
| /runtipi/media/data/podcasts:/app/podcasts | /app/podcasts |
---
## UI
## [](https://github.com/SamTV12345/PodFetch#audio-player)Audio Player
The podcast listening tool contains an advanced audio player that can be used to listen to your podcasts,skip episodes, turn the volumes as high as 300% or skip around in the current episode. [![Audio Player](https://raw.githubusercontent.com/SamTV12345/podgrabv2/main/docs/advanced_audio_player.png)](https://raw.githubusercontent.com/SamTV12345/podgrabv2/main/docs/advanced_audio_player.png)
# [](https://github.com/SamTV12345/PodFetch#continue-right-where-you-stopped)Continue right where you stopped
The tool will automatically save your progress in the current episode and will resume from where you left off even if you close the browser. You can continue listening on all devices by just hitting play on any episode on your home screen.
[![Continue listening to episodes](https://raw.githubusercontent.com/SamTV12345/podgrabv2/main/docs/continue_listening.png)](https://raw.githubusercontent.com/SamTV12345/podgrabv2/main/docs/continue_listening.png)
## [](https://github.com/SamTV12345/PodFetch#search-for-podcasts)Search for podcasts
You can search for podcast episodes by hitting CTRL+F and typing any word that might appear in the description or title of the podcast episode you want to listen to. [![Audio Player](https://raw.githubusercontent.com/SamTV12345/podgrabv2/main/docs/search.png)](https://raw.githubusercontent.com/SamTV12345/podgrabv2/main/docs/search.png)
## [](https://github.com/SamTV12345/PodFetch#internationalization)Internationalization
Podfetch is currently available in English and German. If you want to add a new language you can do so by adding a new file to the `i18n` folder and adding the translations to the file.
# [](https://github.com/SamTV12345/PodFetch#rss-feed)RSS feed
Podfetch offers an own feed to download podcast episodes. You can add the url <SERVER\_URL>/rss to your favorite podcast app like gPodder to download and play episodes.
s
# [](https://github.com/SamTV12345/PodFetch#roadmap)Roadmap
- [x] Add podcasts via Itunes API
- [x] Check for new episodes.
- [x] Download episodes.
- [x] Play episodes.
- [x] Force refresh download of podcast episodes.
- [x] Force refresh of podcast episodes.
- [x] Resume podcasts even if browser is closed.
- [x] Add websocket support for new podcasts.
- [x] Add detailed audio player.
- [x] Star podcasts.
- [x] Unsubscribe podcasts.
- [x] Add retrieving podcasts from Podcastindex.org.
- [x] Basic Auth.
- [x] Import from OPML file.
- [ ] Like episodes.
- [ ] Delete podcasts.

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB