====== PodFetch ====== [[https://github.com/SamTV12345/PodFetch|PodFetch]] is a web app that let's you download and play podcasts. It needs PostgreSQL, even if it doesnt use it, so: > emerge postgresql you don't need to run it. Create user: > useradd -d /data/daemons/podfetch -m -g media podfetch > su - podfetch > wget https://github.com/SamTV12345/PodFetch/releases/download//podfetch-linux.zip > unzip podfetch-linux.zip Move podcast folder, as root: > mkdir /data/Media/Podcasts > rmdir /data/daemons/podfetch/podcasts > ln -s /data/Media/Podcasts /data/daemons/podfetch/podcasts Now, PodFetch works just fine with sub paths, but the gPodder integration will fail, so i suggest to create a dedicated sub-domain for podfetch, let's call it **podcast.mydomain.com**. Run script: #!/bin/bash export SERVER_URL=https://podcast.mydomain.com/ export DATABASE_URL=sqlite:///data/daemons/podfetch/db/podcast.db export REVERSE_PROXY=true export REVERSE_PROXY_HEADER=X-WEBAUTH-USER export REVERSE_PROXY_AUTO_SIGN_UP=true export TELEGRAM_BOT_TOKEN= export TELEGRAM_BOT_CHAT_ID= export TELEGRAM_API_ENABLED=false export GPODDER_INTEGRATION_ENABLED=false cd /data/daemons/podfetch ./podfetch_amd64 &> podfetch.log You will need at least version 4.6.1 to have gPodder working with REVERSE_PROXY authentication. startup script **/etc/local.d/35-podfetch.start**: #!/bin/bash start-stop-daemon -b -m -p /var/run/podfetch.pid -n podfetch -u podfetch /data/daemons/podfetch/podfetch.sh ===== NGINX integration ===== Add this section to your nginx: # Podfetch works in sub-path, but gPodder will not work, it require it's own subdomain so here it is server { server_name podcast.mydomain.com; listen 8443 ssl; # managed by Certbot listen 443 ssl; # managed by Certbot auth_pam "Home"; auth_pam_service_name "nginx"; client_max_body_size 50000M; large_client_header_buffers 4 32k; location / { proxy_pass http://127.0.0.1:8000; proxy_set_header Connection $http_connection; proxy_set_header Upgrade $http_upgrade; proxy_set_header Host $host; proxy_set_header X-WEBAUTH-USER $remote_user; proxy_set_header Authorization ""; } ssl_certificate /etc/letsencrypt/live/mydomain.com/fullchain.pem; # managed by Certbot ssl_certificate_key /etc/letsencrypt/live/mydomain.com/privkey.pem; # managed by Certbot include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot } and don't forget to extend your Let's Encrypt certificate as well, see the NGINX page of this wiki. ===== Update notes ===== When updating, make sure your **podcasts** links inside Podfetch folder still points to your **/data/Media/Podcasts** or things will start to not working properly! ([[https://github.com/SamTV12345/PodFetch/issues/613|bug here]])