Imatges Docker oficials
Castopod pushes 3 Docker images to the Docker Hub during its automated build process:
castopod/castopod: an all in one castopod image using nginx unitcastopod/app: el paquet incloent Castopod i totes les dependènciescastopod/web-server: una configuració de Nginx per a Castopod
Additionally, Castopod requires a MySQL-compatible database. A Redis database can be added as a cache handler.
Etiquetes compatibles
Section titled “Etiquetes compatibles”develop[no-estable], darrera versió de la branca de desenvolupamentbeta[stable], latest beta version buildlatest[stable], latest version build1.x.x[stable], specific version build (since1.0.0)
Exemple d’ús
Section titled “Exemple d’ús”-
Instal·leu docker i docker-compose
-
Creeu un fitxer
docker-compose.ymlamb el següent: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:Heu d’adaptar algunes variables a les vostres necessitats (per exemple,
CP_BASEURL,MYSQL_ROOT_PASSWORD,MYSQL_PASSWORDiCP_ANALYTICS_SALT). -
Configureu un
reverse proxyper a 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} -
Executeu
docker-compose up -d, espereu que s’inicialitzi i aneu ahttps://castopod.exemple.com/cp-installper acabar de configurar Castopod! -
You’re all set, start podcasting! 🎙️🚀
Variables d’entorn
Section titled “Variables d’entorn”-
castopod/castopod and castopod/app
Nom de la variable Tipus ( default)Default 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
Nom de la variable Type Default CP_APP_HOSTNAME?string "app"CP_MAX_BODY_SIZE?number (with suffix) 512MCP_TIMEOUT?number 900