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

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

  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

Pages Liées