Files
wiki/Catalogue-Self-Hosted/apps/app-podfetch.md
T
2026-06-09 18:40:21 +02:00

5.4 KiB

title, created, updated, type, tags, confidence, contested, sources
title created updated type tags confidence contested sources
PodFetch 2026-06-07 2026-06-07 app
catalogue
downloads
podcast
rust
web-player
audio
medium false
https://selfh.st/apps/?tag=downloads
https://github.com/SamTV12345/PodFetch

🎙️ PodFetch

Gestionnaire de podcasts self-hosted écrit en Rust : téléchargement automatique, lecteur web intégré, avec une UI moderne pensée pour l'écoute en continu.

Métadonnée Valeur
Site web https://podfetch.netlify.app
GitHub https://github.com/SamTV12345/PodFetch
License GPL-2.0
Langage Rust (backend) + React (frontend)
Étoiles 34
Dernière MAJ 2025
Catégorie cat-downloads

Description

PodFetch est né comme une alternative moderne à Podgrab, un projet de podcast downloader qui stagnait. L'auteur (Samuel Schwanzer) a voulu reconstruire from scratch avec une stack solide : backend Rust (rapide, peu gourmand, binaire statique) + frontend React (UI réactive), le tout empaqueté en conteneur Docker léger (~80 Mo).

Fonctionnellement, PodFetch fait trois choses : s'abonner à des podcasts via leur flux RSS iTunes-compatible, télécharger automatiquement les nouveaux épisodes (avec stratégie de rétention configurable : ne garder que les N derniers, ou tout l'historique), et lire dans le navigateur via un lecteur web HTML5 avec position de lecture persistée, vitesse variable, et création de playlists manuelles.

Les différenciations clés : multi-utilisateurs (chacun ses abonnements et son historique), chapitres lus depuis le flux (M4A), OPML import/export pour migrer depuis Pocket Casts/AntennaPod, et un mode « anonymous listening » si on veut juste chercher et écouter un épisode sans s'abonner. Le projet supporte aussi le gPodder API pour synchroniser avec des clients mobiles compatibles.

Pour les amateurs de podcasts francophones, c'est une alternative crédible à app-nextcloud (qui fait podcast via app tierce) ou à des services comme Podcast Addict (Android) en mode self-hosted.

Installation

Docker Compose (recommandé)

# docker-compose.yml
services:
  podfetch:
    image: ghcr.io/samtv12345/podfetch:latest
    container_name: podfetch
    restart: unless-stopped
    ports:
      - "8077:8080"
    environment:
      - TZ=Europe/Paris
      - PUID=1000
      - PGID=1000
      - DATABASE_URL=sqlite:///config/podfetch.db
    volumes:
      - ./config:/config
      - /data/podcasts:/downloads

Installation manuelle

git clone https://github.com/SamTV12345/PodFetch
cd PodFetch
# Backend Rust
cargo build --release
./target/release/podfetch &
# Frontend
cd frontend && npm install && npm run build
# Servir derrière Caddy/Nginx

Configuration

  • Abonnement : URL du flux RSS ou recherche iTunes directement dans l'UI.
  • Référentiel de podcasts : ajoute automatiquement les nouveaux épisodes selon un cron interne (par défaut, toutes les heures).
  • Rétention : choisir entre « garder tout », « N derniers épisodes », ou « effacer après lecture ».
  • Multi-users : compte admin + comptes invités avec droits distincts (lecture seule, abonnement personnel).
  • OPML : import/export pour migrer depuis un autre podcatcher.
  • gPodder API : activable pour synchroniser avec AntennaPod (Android).
  • Notifications : webhook optionnel (Discord, Telegram) à chaque nouvel épisode.

Alternatives

Open Source

  • Podgrab — ancêtre, plus maintenu, plus de releases.
  • Kasts (KDE) — client desktop Linux, pas self-hosted serveur.
  • gPodder — serveur + client, mature, UI austère.
  • Castopod — plus orienté créateurs de podcasts (statistiques, federation ActivityPub).
  • Pinepods — multi-users + listen-sync, stack similaire (Rust + React).
  • Audiobookshelf — gère podcasts aussi, mais orienté livres audio avant tout.

Propriétaires (ce que PodFetch remplace)

  • Pocket Casts (premium) — multi-device sync, pas self-hosted.
  • Podcast Addict (Android) — puissant, mais Android-only et sans serveur perso.
  • Spotify Podcasts — non-exportable, dépend d'un abonnement.
  • Overcast (iOS) — UX imbattable, pas de backend self-hosted.

Sécurité

  • Pas d'auth obligatoire par défaut : à activer dès qu'on expose l'UI ; le lecteur permet de chercher n'importe quel podcast public.
  • Volumes en lecture seule pour le frontend, le backend Rust a besoin d'écrire dans ./config et ./downloads.
  • RSS feeds : PodFetch les parse, les malformés peuvent faire planter l'indexeur, garder des logs.
  • Bus factor 1 : un seul contributeur principal (SamTV12345), projet en croissance, à surveiller.
  • GPL-2.0 : plus restrictif que MIT/Apache, vérifiez la compatibilité avec votre stack si vous voulez forker.

Ressources

Pages Liées