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.

Note

Nous avons publié des images officielles Docker pour Castopod!

Si vous préférez utiliser Docker, vous pouvez sauter cette partie et aller directement à la documentation Docker pour Castopod.

Prérequis

  • PHP v8.1 or higher
  • MySQL version 5.7 ou supérieure ou MariaDB version 10.2 ou supérieure
  • Prise en charge HTTPS
  • An ntp-synced clock to validate federation's incoming requests

PHP v8.1 or higher

PHP version 8.1 or higher is required, with the following extensions installed:

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.

Attention

Castopod ne fonctionne qu'avec les bases de données MySQL 5.7 ou plus récentes. Les versions 5.6 (dont le support a cessé le 5 février 2021) ou précédentes de MySQL ne fonctionneront pas.

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):

       * * * * * /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 !

Note

Le script d'installation crée un fichier .env à la racine du paquet. Si vous ne pouvez pas passer par l'assistant d'installation, vous pouvez créer et éditer le fichier .env manuellement en vous appuyant sur le fichier .env.example.

Using CLI

  1. Create a .env file in the package root based on the .env.example file.

  2. Initialize the database using:

    php spark install:init-database
    
  3. Create the superadmin user using:

    php spark install:create-superadmin
    
  4. Head on to your admin gateway to start podcasting!

Email/SMTP setup

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"

S3 config options

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.

Install with YunoHost

YunoHost is a distribution based on Debian GNU/Linux made up of free and open-source software packages. It manages the hardships of self-hosting for you.