Saltearse al contenido

¿Cómo instalar Castopod?

Castopod está pensado para ser fácil de instalar. Ya sea usando un alojamiento dedicado o compartido, puedes instalarlo en la mayoría de servidores web compatibles con PHP-MySQL.

Requisitos

  • PHP v8.3 or higher
  • MySQL versión 5.7 o superior o MariaDB versión 10.2 o superior
  • Soporte HTTPS
  • An ntp-synced clock to validate federation’s incoming requests

PHP v8.3 or higher

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

Además, asegúrate de que las siguientes extensiones están habilitadas en tu PHP:

  • json (habilitada por defecto - no la desactives)
  • xml (habilitada por defecto - no la desactives)
  • mysqlnd

Base de datos compatible con MySQL

Se recomienda usar MariaDB.

Necesitarás la dirección/nombre del servidor (hostname), el nombre de la base de datos, el usuario y la contraseña para completar el proceso de instalación. Si no cuentas con esta información, contacta con el administrador de tu servidor.

Privilegios

El usuario debe tener al menos estos privilegios en la base de datos para que Castopod funcione: CREATE, ALTER, DELETE, EXECUTE, INDEX, INSERT, SELECT, UPDATE, REFERENCES, CREATE VIEW.

(Opcional) FFmpeg v4.1.8 o superior para poder generar clips de vídeo (recortes de vídeo)

Es necesario tener instalado FFmpeg versión 4.1.8 o superior si desea generar recorte de vídeos. Se debe instalar las siguientes extensiones:

  • Librería FreeType 2 para gd.

(Opcional) Otras recomendaciones

  • Redis para mejores rendimientos de caché.
  • CDN para almacenamiento en caché de archivos estáticos y mejores rendimientos.
  • Pasarela de correo para recuperación de contraseñas olvidadas.

Instrucciones de instalación

Pre-requisitos

  1. Consigue un servidor web que cuente con todos los requisitos recomendados.

  2. Crea una base de datos MySQL para Castopod con un usuario que tenga acceso y privilegios de modificación (para más información, ver base de datos compatible con MySQL).

  3. Activa HTTPS en tu dominio web mediante un certificado SSL.

  4. Descarga y descomprime en tu servidor la última versión de Castopod, si aún no lo has hecho.

    • ⚠️ Edita la configuración de tu servidor para que el “document root” sea la subcarpeta castopod/public/.
  5. Add cron tasks on your web server for various background processes (replace the paths accordingly):

    Ventana 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

(recomendado) Asistente web de instalación

  1. Ejecuta el script de instalación de Castopod visitando en tu navegador web esta dirección: https://tu_nombre_de_dominio.com/cp-install
  2. Sigue las instrucciones en pantalla.
  3. ¡Empieza a hacer podcasting!

Using CLI

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

  2. Initialize the database using:

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

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

Email/SMTP setup

La configuración del correo electrónico es necesaria para que algunas características funcionen correctamente (por ejemplo, recuperar su contraseña olvidada, enviando instrucciones a los suscriptores premium, …)

Puedes añadir tu configuración de correo electrónico en el archivo .env de tu instancia así:

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

Configuración de Correo Electrónico/SMTP

Nombre de variableTypeDefault
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

Nombre de la variableTypeDefault
endpointstringundefined
keystringundefined
secretstringundefined
regionstringundefined
bucketstringcastopod
protocolnumberundefined
pathStyleEndpointbooleanfalse
keyPrefixstringundefined

Paquetes de la comunidad

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.