Imágenes oficiales de Docker
Castopod lanza 3 imágenes Docker al Docker Hub durante su proceso de construcción automatizada:
castopod/castopod: una imagen completa de castopod que utiliza una unidad nginxcastopod/app: el paquete completo de la aplicación con todas las dependencias de Castopodcastopod/web-server: una configuración de Nginx para Castopod
Adicionalmente, Castopod requiere una base de datos compatible con MySQL. También se puede añadir una base de datos Redis como gestor de caché.
Etiquetas admitidas
Sección titulada «Etiquetas admitidas»develop[unstable], última rama construída de desarrollobeta[stable], última versión betalatest[stable], última versión1.x.x[stable], versión específica de compilación (desde1.0.0)
Ejemplo de uso
Sección titulada «Ejemplo de uso»-
Instalar docker y docker-compose
-
Crear un archivo
docker-compose.ymlcon lo siguiente:version: "3.7"services:app:image: castopod/castopod:latestcontainer_name: "castopod-app"volumes:- castopod-media:/var/www/castopod/public/mediaenvironment:MYSQL_DATABASE: castopodMYSQL_USER: castopodMYSQL_PASSWORD: changemeCP_BASEURL: "https://castopod.example.com"CP_ANALYTICS_SALT: changemeCP_CACHE_HANDLER: redisCP_REDIS_HOST: redisCP_REDIS_PASSWORD: changemenetworks:- castopod-app- castopod-dbports:- 8000:8000restart: unless-stoppedmariadb:image: mariadb:10.5container_name: "castopod-mariadb"networks:- castopod-dbvolumes:- castopod-db:/var/lib/mysqlenvironment:MYSQL_ROOT_PASSWORD: changemeMYSQL_DATABASE: castopodMYSQL_USER: castopodMYSQL_PASSWORD: changemerestart: unless-stoppedredis:image: redis:7.0-alpinecontainer_name: "castopod-redis"command: --requirepass changemevolumes:- castopod-cache:/datanetworks:- castopod-appvolumes:castopod-media:castopod-db:castopod-cache:networks:castopod-app:castopod-db:Debes adaptar algunas variables a tus necesidades (ej.
CP_BASEURL,MYSQL_ROOT_PASSWORD,MYSQL_PASSWORDyCP_ANALYTICS_SALT). -
Configura un servidor proxy inverso para TLS (SSL/HTTPS).
TLS es imprescindible para que ActivityPub funcione. Este trabajo puede ser fácilmente manejado por un proxy inverso, por ejemplo con Caddy:
#castopodcastopod.example.com {reverse_proxy localhost:8000} -
Ejecuta
docker-compose -d, espera a que se inicie y ve ahttps://castopod.mi_dominio.com/cp-installpara terminar de configurar Castopod! -
Todo listo, empieza a hacer podcasting! 🎙️🚀 🎙️🚀
Variables de Entorno
Sección titulada «Variables de Entorno»-
castopod/castopod and castopod/app
Nombre de la Variable Tipo ( predeterminado)Default CP_BASEURLstring undefinedCP_MEDIA_URLBASE?string CP_BASEURLCP_ADMIN_GATEWAY?string "cp-admin"CP_AUTH_GATEWAY?string "cp-auth"CP_ANALYTICS_SALTstring undefinedCP_DATABASE_HOSTNAME?string "mariadb"CP_DATABASE_NAME?string MYSQL_DATABASECP_DATABASE_USERNAME?string MYSQL_USERCP_DATABASE_PASSWORD?string MYSQL_PASSWORDCP_DATABASE_PREFIX?string "cp_"CP_CACHE_HANDLER[ "file"o"redis"]"file"CP_REDIS_HOST?string "localhost"CP_REDIS_PASSWORD?string nullCP_REDIS_PORT?number 6379CP_REDIS_DATABASE?number 0HOST_EMAIL_SMTP_HOST?string undefinedCP_EMAIL_FROM?string undefinedCP_EMAIL_SMTP_USERNAME?string "localhost"CP_EMAIL_SMTP_PASSWORD?string nullCP_EMAIL_SMTP_PORT?number 25CP_EMAIL_SMTP_CRYPTO[ "tls"o"ssl"]"tls"CP_ENABLE_2FA?boolean undefinedCP_MEDIA_FILE_MANAGER?string undefinedCP_MEDIA_S3_ENDPOINT?string undefinedCP_MEDIA_S3_KEY?string undefinedCP_MEDIA_S3_SECRET?string undefinedCP_MEDIA_S3_REGION?string undefinedCP_MEDIA_S3_BUCKET?string undefinedCP_MEDIA_S3_PROTOCOL?number undefinedCP_MEDIA_S3_PATH_STYLE_ENDPOINT?boolean undefinedCP_MEDIA_S3_KEY_PREFIX?string undefinedCP_DISABLE_HTTPS?[ 0or1]undefinedCP_MAX_BODY_SIZE?number (with suffix) 512MCP_PHP_MEMORY_LIMIT?number (with suffix) 512MCP_TIMEOUT?number 900 -
castopod/servidor web
Nombre de la variable Tipo Default CP_APP_HOSTNAME?string "app"CP_MAX_BODY_SIZE?number (with suffix) 512MCP_TIMEOUT?number 900