Images officielles de Docker
Castopod envoie 3 images Docker au Hub Docker pendant son processus de construction automatisée :
castopod/castopod: une image castopod tout-en-un sous nginx unitcastopod/app: le paquet d’applications avec toutes les dépendances de Castopodcastopod/web-server: une configuration Nginx pour Castopod
De plus, Castopod nécessite une base de données compatible avec MySQL. Une base de données Redis peut être ajoutée en tant que gestionnaire de cache.
Tags supportés
Section intitulée « Tags supportés »développer[unstable], la dernière version de la branche de développementbeta[stable], dernière version bêtabeta[stable], dernière version bêta1.x.x[stable], version spécifique (depuis1.0.0)
Exemple d’utilisation
Section intitulée « Exemple d’utilisation »-
Installez docker et docker-compose
-
Créez un fichier
docker-compose.ymlavec les éléments suivants :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:Vous devez adapter certaines variables à vos besoins (p. ex.
CP_BASEURL,MYSQL_ROOT_PASSWORD,MYSQL_PASSWORDetCP_ANALYTICS_SALT). -
Setup a reverse proxy for TLS (SSL/HTTPS)
TLS is mandatory for ActivityPub to work. This job can easily be handled by a reverse proxy, for example with Caddy:
#castopodcastopod.example.com {reverse_proxy localhost:8000} -
Exécutez
docker-compose up -d, attendez qu’il s’initialise surhttps://castopod.example.com/cp-installpour terminer la configuration de Castopod ! -
Vous êtes prêt, commencez à podcaster! 🎙️🚀
Environment Variables
Section intitulée « Environment Variables »-
castopod/castopod and castopod/app
Variable name Type ( default)Par défaut CP_BASEURLstring undefinedCP_MEDIA_BASEURL?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"or"redis"]"file"CP_REDIS_HOST?string "localhost"CP_REDIS_PASSWORD?string nullCP_REDIS_PORT?number 6379CP_REDIS_DATABASE?number 0CP_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"or"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/web-server
Variable name Type Par défaut CP_APP_HOSTNAME?string "app"CP_MAX_BODY_SIZE?number (with suffix) 512MCP_TIMEOUT?number 900