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
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
-
Installez docker et docker-compose
-
Créez un fichier
docker-compose.yml
avec les éléments suivants :Vous devez adapter certaines variables à vos besoins (p. ex.
CP_BASEURL
,MYSQL_ROOT_PASSWORD
,MYSQL_PASSWORD
etCP_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:
-
Exécutez
docker-compose up -d
, attendez qu’il s’initialise surhttps://castopod.example.com/cp-install
pour terminer la configuration de Castopod ! -
Vous êtes prêt, commencez à podcaster! 🎙️🚀
Environment Variables
-
castopod/castopod and castopod/app
Variable name Type ( default
)Par défaut CP_BASEURL
string undefined
CP_MEDIA_BASEURL
?string CP_BASEURL
CP_ADMIN_GATEWAY
?string "cp-admin"
CP_AUTH_GATEWAY
?string "cp-auth"
CP_ANALYTICS_SALT
string undefined
CP_DATABASE_HOSTNAME
?string "mariadb"
CP_DATABASE_NAME
?string MYSQL_DATABASE
CP_DATABASE_USERNAME
?string MYSQL_USER
CP_DATABASE_PASSWORD
?string MYSQL_PASSWORD
CP_DATABASE_PREFIX
?string "cp_"
CP_CACHE_HANDLER
[ "file"
or"redis"
]"file"
CP_REDIS_HOST
?string "localhost"
CP_REDIS_PASSWORD
?string null
CP_REDIS_PORT
?number 6379
CP_REDIS_DATABASE
?number 0
CP_EMAIL_SMTP_HOST
?string undefined
CP_EMAIL_FROM
?string undefined
CP_EMAIL_SMTP_USERNAME
?string "localhost"
CP_EMAIL_SMTP_PASSWORD
?string null
CP_EMAIL_SMTP_PORT
?number 25
CP_EMAIL_SMTP_CRYPTO
[ "tls"
or"ssl"
]"tls"
CP_ENABLE_2FA
?boolean undefined
CP_MEDIA_FILE_MANAGER
?string undefined
CP_MEDIA_S3_ENDPOINT
?string undefined
CP_MEDIA_S3_KEY
?string undefined
CP_MEDIA_S3_SECRET
?string undefined
CP_MEDIA_S3_REGION
?string undefined
CP_MEDIA_S3_BUCKET
?string undefined
CP_MEDIA_S3_PROTOCOL
?number undefined
CP_MEDIA_S3_PATH_STYLE_ENDPOINT
?boolean undefined
CP_MEDIA_S3_KEY_PREFIX
?string undefined
CP_DISABLE_HTTPS
?[ 0
or1
]undefined
CP_MAX_BODY_SIZE
?number (with suffix) 512M
CP_PHP_MEMORY_LIMIT
?number (with suffix) 512M
CP_TIMEOUT
?number 900
-
castopod/web-server
Variable name Type Par défaut CP_APP_HOSTNAME
?string "app"
CP_MAX_BODY_SIZE
?number (with suffix) 512M
CP_TIMEOUT
?number 900