Castopod est LE couteau Suisse du podcast! Vous avez tout sous la main pour vous lancer et vous exprimer.
Sa mise en place est facile et son utilisation tout autant, pour ne rien gâcher au plaisir il est gratuit et open-source.
Rien ne vous empêche de donner une étoile pour soutenir le projet sur Github!
J'ai commencé depuis un moment à préparer Castopod en parallèle pour qu'il héberge les podcasts belginux mais je n'ai pas encore fini tant l'ensemble du travail que demande ce site m'a dépassé. Mais c'est pour bientôt! 😀
Notez qu'il faudra un nom de domaine et un proxy, pour le proxy j'ai abordé deux sujets:
La solution libre & gratuite pour lancer votre podcast 2.0!
Hébergez vos podcasts sereinement, gardez le contrôle sur ce que vous créez et discutez avec votre public sans aucun intermédiaire. Votre podcast et votre audience n'appartiennent qu'à vous, et vous uniquement.
⚡Caractéristiques
- 🌱 Libre, gratuit & open-source (Licence AGPL v3)
- 🔐 focalisé sur la souveraineté des données : votre contenu, votre audience et vos statiistiques vous appartiennent, et à vous seulement
- 🪄 Fonctionnalités du Podcasting 2.0 : GUID, verrouillage, transcriptions, financement, chapitres, géo-localisation, intervenants, extraits sonores, …
- 💬 Réseau social intégré :
- 🚀 Castopod fait partie du Fédivers, un réseau social décentralisé
- ❤️ Créer des publications, partager, mettre en favori et commenter des épisodes
- 📈 Statistiques intégrées :
- ⚖️ Conforme GDPR / CCPA / LGPD
- 🪙 Mesure d'audience IABv2
- 🏡 Statistiques intégrées, aucune tierce partie intermédiaire
- 📢 Outils de marketing intégrés :
- ✅ Prêt pour le SEO (méta-tags open-graph, JSON-LD…)
- 📱 PWA: installez comme application autonome
- 🎨 Couleurs de thèmes personnalisables
- 🎬 Générez des clips vidéo prêts à partager à partir d'épisodes
- 🔉 Générez des extraits sonores
- ▶️ Intégrer vos épisodes dans n'importe quel site web
- 💸 Monétisation:
- 🔗 Liens de financement
- 📲 publicité “listen-to-click”
- 🤝 value4value / WebMonetization
- 💎 Podcasts premium
- 📡 Publiez vos épisodes partout avec RSS :
- 📱 Sur tous les index et toutes les applications : Podcast Index, Podcasts Apple, Spotify, Google Podcasts, Deezer, Podcast Addict, Podfriend…
- ⚡ Diffusez instantanément vos épisodes avec WebSub
- 📥 Importation de Podcast : déménagez votre podcast existant vers Castopod
- 📤 Déplacez votre podcast chez un autre hébergeur
- 🔀 Multi-locataire : hébergez autant de podcasts que vous le souhaitez
- 👥 Multi-utilisateur : ajoutez des contributeurs et définissez leurs rôles
- 🌎 support de i18n : traduit en anglais, français, polonais, allemand, portugais, brésilien & espagnol… et plus à l'avenir!
Si vous avez la moindre difficulté, n'oubliez pas que vous pouvez rejoindre belginux sur Discord et Matrix!
L'installation
- Créez votre docker-compose.yml:
sudo nano docker-compose.yml
- Collez ça dedans:
version: "3.7"
services:
app:
image: castopod/castopod:latest
container_name: "castopod-app"
volumes:
- castopod-media:/var/www/castopod/public/media
environment:
MYSQL_DATABASE: castopod
MYSQL_USER: castopod
MYSQL_PASSWORD: changeme
CP_BASEURL: "https://ndd.tld"
CP_ANALYTICS_SALT: changeme
CP_CACHE_HANDLER: redis
CP_REDIS_HOST: redis
CP_REDIS_PASSWORD: changeme-redis-pass #CHANGEZ_MOI
#CP_EMAIL_SMTP_HOST: smtp.gmail.com
#CP_EMAIL_FROM: monmail@gmail.com
#CP_EMAIL_SMTP_USERNAME: monmail@gmail.com
#CP_EMAIL_SMTP_PASSWORD: bqyggfdtmcdyigdgtj
#CP_EMAIL_SMTP_PORT: 587
#CP_EMAIL_SMTP_CRYPTO: tls
networks:
- castopod-app
- castopod-db
ports:
- 8001:8000
restart: unless-stopped
mariadb:
image: mariadb:10.5
container_name: "castopod-mariadb"
networks:
- castopod-db
volumes:
- castopod-db:/var/lib/mysql
environment:
MYSQL_ROOT_PASSWORD: changeme
MYSQL_DATABASE: castopod
MYSQL_USER: castopod
MYSQL_PASSWORD: changeme
restart: unless-stopped
redis:
image: redis:7.0-alpine
container_name: "castopod-redis"
volumes:
- castopod-cache:/data
networks:
- castopod-app
command: --requirepass changeme-redis-pass #CHANGEZ_MOI
volumes:
castopod-media:
castopod-db:
castopod-cache:
networks:
castopod-app:
castopod-db:
CP_BASEURL: "https://ndd.tld" => à la place de http://ndd.tld, indiquez votre domaine
CP_ANALYTICS_SALT: changeme => à la place de changeme, indiquez une chaine de caractères au nombre de 64 (conseillé mais pas obligatoire, mais fortement conseillé ;)
CP_REDIS_PASSWORD: changeme-redis-pass => à la place de changeme-reids-pass, indiquez un mot de passe fort
MYSQL_PASSWORD: changeme => à la place de changeme, indiquez un mot de passe fort
command: --requirepass changeme-redis-pass => à la place de changeme-redis-pass, indiquez un mot de passe fort
Configurer le serveur mail
Si vous avez besoin du serveur mail, comme d'habitude je prends comme exemple Gmail mais libre à vous d'utiliser celui de votre choix. N'oubliez pas de créer un mot de passe pour application tierce suivant ce tutoriel:
Pour activer le serveur mail il faudra décommenter les lignes, c'est à dire retirer le # devant chaque ligne.
Ce qui donne:
CP_EMAIL_SMTP_HOST: smtp.gmail.com
CP_EMAIL_FROM: monmail@gmail.com
CP_EMAIL_SMTP_USERNAME: monmail@gmail.com
CP_EMAIL_SMTP_PASSWORD: bqyggfdtmcdyigdgtj
CP_EMAIL_SMTP_PORT: 587
CP_EMAIL_SMTP_CRYPTO: tls
Ensuite complétez le formulaire avec les informations suivantes, attention, je sais que Gmail fourni un mot de passe avec des espaces, il faut absolument les retirer sans quoi Castopod va planter.
Pour être certain d'être clair, si votre mot de passe est: abcdef abcdef abcdef, il devient abcdefabcdefabcdef.
CP_EMAIL_SMTP_HOST: => smtp.gmail.com
CP_EMAIL_FROM: monmail@gmail.com => à la place de monmail@gmail.com, indiquez votre mail complet
CP_EMAIL_SMTP_USERNAME: monmail@gmail.com => à la place de monmail@gmail.com, indiquez votre mail complet
CP_EMAIL_SMTP_PASSWORD: bqyggfdtmcdyigdgtj => remplacez bqyggfdtmcdyigdgtj par votre mot de passe fourni par Gmail en tenant compte de la remarque sur les espaces
CP_EMAIL_SMTP_PORT: => 587
CP_EMAIL_SMTP_CRYPTO: => tls
- On installe l'application:
docker-compose up -d
ou avec docker-compose V2:
docker compose up -d
- Rendez-vous sur votre nom de domaine sans oublier d'ajouter /cp-install à la fin.
https://ndd.tld/cp-install
Terminer l'installation
Créer son compte super-utilisateur
Rendez-vous sur votre domaine, suivi de /cp-install, comme indiqué précédemment et remplissez les informations demandées. Une fois que c'est complet, cliquez sur Terminer l'installation:
Première connexion
Maintenant que votre compte super-utilisateur est créé, connectez-vous avec en entrant les informations de votre compte, validez en cliquant sur Se connecter:
Vous voilà redirigé vers votre tableau de bord qui permet d'administrer Castopod:
Paramètres généraux
Toujours dans le tableau de bord, dans Paramètres, Général, vous avez le loisir de personnaliser l'instance avec Titre du site, Description du site et Flavicon du site.
Une fois que vous êtes satisfait, enregistrez vos paramètres en cliquant sur Sauvegarder:
Thème
Toujours sur le tableau de bord, vous avez également la possibilité de choisir une couleur d'accentuation, cliquez sur la couleur de votre choix et validez avec Sauvegarder:
Créer un utilisateur
Pour créer un utilisateur, sauf erreur de ma part, vous aurez besoin du serveur mail.
Rendez-vous dans la partie Utilisateurs, Créer un utilisateur:
Cliquez en haut à droite sur Créer un utilisateur:
Il faudra remplir les informations demandées comme, son Identifiant, son E-mail et son Rôle. Rôles qui sont au nombre de 3:
- Gestionnaire
- Podcast-rice-eur
- Super administrat.rice.eur
Quand tout est terminé, cliquez sur Créez un utilisateur:
Si tout s'est bien passé, vous aurez ce message=
Voyons voir du côté du mail, ça sent bon l'invitation:
Il ne reste qu'à votre utilisateur de cliquer sur Se connecter:
Votre utilisateur devra définir un mot de passe et cliquer sur Choisis ton mot de passe:
Le voilà redirigé vers son tableau de bord:
Créer un podcast
Toujours dans le tableau de bord, cliquez sur Podcasts, Tous les podcasts:
Ensuite cliquez sur + Créer un podcast:
Remplissez les informations, certaines sont obligatoires, d'autres pas.
Alors, classification, Technologie:
L'auteur, et son mail:
Identité dans le Fédivers:
Quand vous avez terminé, cliquez sur Créer le podcast:
Le podcast a été créé avec succès! Cool...! Mais on est en mode brouillon pour le moment.
Cliquons sur Publier le podcast, peu de chance qu'on tue quelqu'un en faisant ça, ensuite vous arrivez ici ou vous pouvez écrire votre message de publication publier le podcast, soit sur le moment-même ou le planifier. Cliquez sur Publier pour terminer:
Pour voir ce que ça donne, en haut à gauche vous avez Aller sur le site, cliquez dessus:
J'ai déjà zéro abonné, le succès est fulgurant!
Créer un épisode
Rendez-vous dans Podcasts, Tous les podcasts:
Cliquez sur le podcast de votre choix, enfin ici on a pas trop le choix j'en ai fait qu'un:
En haut à droite, cliquez sur + Ajouter un épisode:
Complétez les informations demandées, le Fichier audio, d'une taille maximale de 512MiB, une Image de couverture, pas obligatoire mais c'est quand même plus sympa, et un Titre:
Ajoutez une Description de maximum 4000 caractères:
Quand vous êtes satisfait, validez en cliquant sur Créer l'épisode:
Yeah!
Cliquez en haut à droite sur Publier:
Ajoutez Votre message de publication, définissez la Date de publication et cliquez sur Publier:
Comme tout à l'heure, cliquez sur Aller au site:
Et voilà le résultat!
Problème de CSS lors d'une mise à jour
Il est possible que vous rencontriez un souci avec le CSS lors d'une mise à jour de Castopod. Ce n'est qu'un souci de cache.
Voici comment résoudre ce petit problème:
Copiez/collez cette commande dans votre terminal:
docker exec -ti castopod-app bash
Ensuite copiez/collez cette commande qui va avoir pour effet de vider le cache:
php spark cache:clear
Ce qui va retourner:
CodeIgniter v4.4.5 Command Line Tool - Server Time: 2024-03-12 14:53:38 UTC+00:00
Cache cleared.
Le tout en image:
Tapez exit dans votre terminal.
Pour terminer, faites un CTRL + F5 dans votre navigateur préféré pour retrouver votre site avec son CSS!