Initial vault setup

This commit is contained in:
2026-06-09 18:40:21 +02:00
commit bda02d587f
3692 changed files with 402457 additions and 0 deletions
+127
View File
@@ -0,0 +1,127 @@
---
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]]