5.4 KiB
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 |
| GitHub | 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.
# 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
- Cloner le dépôt :
git clone https://code.castopod.org/adaures/castopod.git - Installer les dépendances PHP avec Composer :
composer install --no-dev - Configurer Apache/Nginx pour pointer sur
public/(le.htaccessest fourni) - Créer la base MariaDB et lancer l'installateur web
Configuration
- Accéder à
https://podcast.example.com/cp-admin/install(gateway configurable viaCP_ADMIN_GATEWAY) - Créer le super-admin (premier compte = administrateur global)
- Ajouter un podcast : titre, description, image de couverture, propriétaire
- Configurer le flux RSS : chaque podcast a son URL, Castopod gère iTunes/Podcast Index
- 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) etcastopod_db(métadonnées, commentaires)
Ressources
- Site officiel : castopod.org
- Documentation : docs.castopod.org
- Communauté : Matrix
#castopod:matrix.org - Code source : code.castopod.org/adaures/castopod