Aller au contenu

Comment installer Castopod ?

Castopod a été pensé pour être facile à installer. Que vous utilisiez un hébergement dédié ou mutualisé, vous pouvez l’installer sur la plupart des serveurs web compatibles avec PHP-MySQL.

Prérequis

  • PHP v8.1 ou supérieure
  • MySQL version 5.7 ou supérieure ou MariaDB version 10.2 ou supérieure
  • Prise en charge HTTPS
  • Une horloge synchronisée ntp pour valider les requêtes fédérés entrantes

PHP v8.1 ou supérieure

PHP version 8.1 ou supérieure est requise, avec les extensions suivantes installées :

De plus, assurez-vous que les extensions suivantes sont activées dans votre PHP :

  • json (activé par défaut - ne le désactivez pas)
  • xml (activé par défaut - ne pas le désactiver)
  • mysqlnd

Base de données compatible MySQL

Nous vous recommandons d’utiliser MariaDB.

Vous aurez besoin du nom d’hôte du serveur, du nom de la base de données, du nom d’utilisateur et du mot de passe pour terminer le processus d’installation. Si vous ne disposez pas de ces informations, veuillez contacter votre administrateur.

Droits d’accès

L’utilisateur doit avoir au moins ces droits d’accès sur la base de données pour que Castopod fonctionne : CREATE, ALTER, DELETE, EXECUTE, INDEX,INSERT, SELECT, UPDATE,REFERENCES, CREATE VIEW.

(Facultatif) FFmpeg v4.1.8 ou supérieur pour les clips vidéo

FFmpeg version 4.1.8 ou supérieure est requis si vous souhaitez générer des Clips Vidéo. Les extensions suivantes doivent être installées :

  • bibliothèque FreeType 2 pour gd.

(Facultatif) Autres recommandations

  • Redis pour de meilleures performances de cache.
  • CDN pour la mise en cache de fichiers statiques et de meilleures performances.
  • passerelle e-mail pour les mots de passe perdus.

Instructions d’installation

Pré-requis

  1. Obtenez un serveur Web avec les pré-requis installés

  2. Créer une base de données MySQL pour Castopod avec un utilisateur ayant les droits d’accès et les droits de modification (pour plus d’informations, cf. base de données compatible MySQL).

  3. Activez HTTPS sur votre domaine avec un certificat SSL.

  4. Téléchargez et dézippez le dernier paquet Castopod sur le serveur web si vous ne l’avez pas déjà fait.

    • ⚠️ Faites pointer la racine du document du serveur web vers le sous-dossier public/ du dossier castopod.
  5. Add cron tasks on your web server for various background processes (replace the paths accordingly):

    Fenêtre de terminal
    * * * * * /path/to/php /path/to/castopod/spark tasks:run >> /dev/null 2>&1

    Note - If you do not add this cron task, the following Castopod features will not work:

    • Importing a podcast from an existing RSS feed
    • Broadcasting social activities to your followers in the fediverse
    • Broadcasting episodes to open hubs using WebSub
    • Generating video clips - requires FFmpeg

(Méthode recommandée) Assistant d’installation

  1. Exécutez le script d’installation de Castopod en vous rendant sur la page d’assistant d’installation (https://votre_domain_name.com/cp-install) dans votre navigateur Web favori.
  2. Suivez les instructions affichée.
  3. Commencer à baladodiffuser !

Utilisation du CLI

  1. Créez un fichier .env à la racine du paquet basé sur le fichier .env.example.

  2. Initialisez la base de données en exécutant :

    Fenêtre de terminal
    php spark install:init-database
  3. Créer l’utilisateur super-admin en utilisant :

    Fenêtre de terminal
    php spark install:create-superadmin
  4. Rendez-vous sur votre passerelle d’administration pour commencer le podcasting!

Configuration SMTP∕Email

Email configuration is required for some features to work properly (eg. retrieving your forgotten password, sending instructions to premium subscribers, …)

You may add your email configuration in your instance’s .env like so:

# […]
email.fromEmail="your_email_address"
email.SMTPHost="your_smtp_host"
email.SMTPUser="your_smtp_user"
email.SMTPPass="your_smtp_password"

Email config options

Variable nameTypeDefault
fromEmailstringundefined
fromNamestring"Castopod"
SMTPHoststringundefined
SMTPUserstringundefined
SMTPPassstringundefined
SMTPPortnumber25
SMTPCrypto["tls" or "ssl"]"tls"

Media storage

By default, files are saved to the public/media folder using the file system. If you need to relocate the media folder to a different location, you can specify it in your .env file as shown below:

# […]
media.root="media"
media.storage="/mnt/storage"

In this example, the files will be saved to the /mnt/storage/media folder. Make sure to also update your web server configuration to reflect this change.

S3

If you prefer storing your media files on an S3 compatible storage, you may specify it in your .env:

# […]
media.fileManager="s3"
media.s3.endpoint="your_s3_host"
media.s3.key="your_s3_key"
media.s3.secret="your_s3_secret"
media.s3.region="your_s3_region"

Options de configuration S3

Variable nameTypeDefault
endpointstringundefined
keystringundefined
secretstringundefined
regionstringundefined
bucketstringcastopod
protocolnumberundefined
pathStyleEndpointbooleanfalse
keyPrefixstringundefined

Paquets fournis par la communauté

If you don’t want to bother with installing Castopod manually, you may use one of the packages created and maintained by the open-source community.

Installation avec Yunohost

YunoHost est une distribution basée sur Debian GNU/Linux composée de logiciels libres et open source. Cela permet de vous simplifier l’auto-hébergement.