--- title: Castopod created: 2026-06-07 updated: 2026-06-07 type: app tags: [catalogue, activitypub-fediverse, podcast, audio, php, fediverse] confidence: high contested: false sources: [https://selfh.st/apps/?tag=activitypub-fediverse, https://code.castopod.org/adaures/castopod, https://castopod.org/] --- # 🎙️ Castopod > **La plateforme de podcasting fediverse** : hébergez vos podcasts sur une instance compatible ActivityPub, où chaque épisode est un post que vos auditeurs peuvent suivre depuis Mastodon, Pleroma ou tout autre serveur du Fediverse. | Métadonnée | Valeur | | :--- | :--- | | **Site web** | [https://castopod.org](https://castopod.org) | | **GitHub** | [https://code.castopod.org/adaures/castopod](https://code.castopod.org/adaures/castopod) | | **License** | AGPL-3.0 | | **Langage principal** | PHP (CodeIgniter 4) | | **Étoiles GitHub** | 63 ⭐ | | **Dernière MAJ** | 2026-05 | | **Catégorie** | [[cat-activitypub-fediverse]] | ## Description Castopod est une plateforme libre de **podcasting** pensée pour les créateurs et podcasteurs qui veulent garder le contrôle de leur média. Chaque épisode publié est automatiquement exposé via **ActivityPub** : un auditeur peut donc suivre `@podcast@mon-instance.fr` directement depuis son compte Mastodon, recevoir les nouveaux épisodes dans sa timeline et même répondre — la réponse apparaissant comme un commentaire sous l'épisode. Concrètement, Castopod propose tout ce qu'attend un podcasteur : hébergement et distribution RSS des flux, statistiques d'écoute (téléchargements, lecteurs, géolocalisation), **mutualisation multi-podcasts** (plusieurs podcasts sur une même instance, idéal pour des collectifs ou des radios associatives), gestion des invités, transcriptions, intégration avec les **plateformes iTunes/Spotify/Pocket Casts** classiques. **Points forts** : basé sur CodeIgniter 4, relativement léger, interface d'administration claire (CodeIgniter admin), export OPML, transcriptions automatiques, multilingue. **Points faibles** : image Docker officielle un peu capricieuse (problèmes de permissions sur les volumes), documentation perfectible, pas d'algorithme de recommandation, fonctionnalités sociales plus limitées qu'un PeerTube (pas de likes distribués, par ex.). ## Installation ### Via Docker (recommandé) L'image officielle est `castopod/castopod` sur Docker Hub. Castopod a besoin d'une base MySQL/MariaDB. ```yaml # docker-compose.yml services: castopod: image: castopod/castopod:latest container_name: castopod restart: unless-stopped ports: - "8080:8080" environment: CP_BASEURL: "https://podcast.example.com" CP_ADMIN_GATEWAY: cp-admin CP_DATABASE: castopod CP_DATABASE_HOSTNAME: db CP_DATABASE_USERNAME: castopod CP_DATABASE_PASSWORD: change-me CP_DATABASE_DRIVER: "mysql" CP_EMAIL_FROM: "noreply@example.com" CP_EMAIL_SMTP_HOST: "" volumes: - castopod_media:/var/www/castopod/public/media depends_on: - db db: image: mariadb:11 restart: unless-stopped environment: MYSQL_DATABASE: castopod MYSQL_USER: castopod MYSQL_PASSWORD: change-me MYSQL_RANDOM_ROOT_PASSWORD: "yes" volumes: - castopod_db:/var/lib/mysql volumes: castopod_media: castopod_db: ``` ### Installation manuelle 1. Cloner le dépôt : `git clone https://code.castopod.org/adaures/castopod.git` 2. Installer les dépendances PHP avec Composer : `composer install --no-dev` 3. Configurer Apache/Nginx pour pointer sur `public/` (le `.htaccess` est fourni) 4. Créer la base MariaDB et lancer l'installateur web ## Configuration 1. Accéder à `https://podcast.example.com/cp-admin/install` (gateway configurable via `CP_ADMIN_GATEWAY`) 2. Créer le **super-admin** (premier compte = administrateur global) 3. Ajouter un **podcast** : titre, description, image de couverture, propriétaire 4. Configurer le **flux RSS** : chaque podcast a son URL, Castopod gère iTunes/Podcast Index 5. Activer la **fédération ActivityPub** (on par défaut) : les comptes podcasteurs deviennent des acteurs fediverse ## Alternatives ### Open source - [[app-funkwhale]] — pour l'audio plus généraliste (musique, livres audio, podcasts) - [[app-peertube]] — vidéo plutôt que podcast, mais même philosophie fediverse - [[app-podcastgenerator]] — solution PHP minimaliste, pas de ActivityPub - **Funkwhale** — pour une bibliothèque audio unifiée ### Propriétaires - Anchor / Spotify for Podcasters — gratuit mais hébergé - Buzzsprout — payant, centralisé - Transistor — payant, analytics poussées ## Sécurité - **Reverse-proxy HTTPS** obligatoire (Let's Encrypt via Traefik/Caddy) - **Isoler le compte super-admin** : pas d'email public dans le profil fediverse pour éviter le spam - **Modération ActivityPub** : Castopod dispose d'un onglet pour bloquer/filtrer les acteurs federés indésirables - **Mises à jour** : suivre les releases sur le GitLab officiel (correctifs de sécurité réguliers) - **Sauvegardes** : `castopod_media` (épisodes, images) et `castopod_db` (métadonnées, commentaires) ## Ressources - Site officiel : [castopod.org](https://castopod.org) - Documentation : [docs.castopod.org](https://docs.castopod.org/) - Communauté : Matrix `#castopod:matrix.org` - Code source : [code.castopod.org/adaures/castopod](https://code.castopod.org/adaures/castopod) ## Pages Liées - [[cat-activitypub-fediverse]] - [[recettes-docker-compose]] - [[app-funkwhale]]