Images officielles de Docker

Castopod envoie 3 images Docker au Hub Docker pendant son processus de construction automatisée :

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éveloppement
  • beta [stable], dernière version bêta
  • beta [stable], dernière version bêta
  • 1.x.x [stable], version spécifique (depuis 1.0.0)

Exemple d'utilisation

  1. Installez docker et docker-compose

  2. Créez un fichier docker-compose.yml avec les éléments suivants :

    version: "3.
    
    services :
      app:
        image: castopod/castopod:latest
        container_name: "castopod-app"
        volumes:
          - castopod-media:/var/www/castopod/public/media
        environnement:
          MYSQL_DATABASE: castopod
          MYSQL_USER: castopod
          MYSQL_PASSWORD: changeme
          CP_BASEURL: "https://castopod. xample. om"
          CP_ANALYTICS_SALT : changer
          CP_CACHE_HANDLER: redis
          CP_REDIS_HOST: redis
        réseaux :
          - castopod-app
          - castopod-db
        ports :
          - 8000:8000
        redémarrage :
    
      mariadb:
        image: mariadb:10.
        container_name: "castopod-mariadb"
        networks:
          - castopod-db
        volumes:
          - castopod-db:/var/lib/mysql
        environment:
          MYSQL_ROOT_PASSWORD: changeme
          MYSQL_DATABASE: castopod
          MYSQL_USER: castopod
          MYSQL_PASSWORD: changez
        restart: unless-stopped
    
      redis:
        image: redis:redis:7. -alpine
        container_name: "castopod-redis"
        volumes:
          - castopod-cache:/data
        réseaux:
          - castopod-app
    
    volumes:
      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_PASSWORD et CP_ANALYTICS_SALT).

  3. 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:

    #castopod
    castopod.example.com {
        reverse_proxy localhost:8000
    }
    
  4. Exécutez docker-compose up -d, attendez qu'il s'initialise sur https://castopod.example.com/cp-install pour terminer la configuration de Castopod !

  5. Vous êtes prêt, commencez à podcaster! 🎙️🚀

Environment Variables

  • castopod/castopod and castopod/app

    Nom de la variableType (default)Par défaut
    CP_BASEURLstringundefined
    CP_MEDIA_BASEURL?stringCP_BASEURL
    CP_ADMIN_GATEWAY?string"cp-admin"
    CP_AUTH_GATEWAY?string"cp-auth"
    CP_ANALYTICS_SALTstringundefined
    CP_DATABASE_HOSTNAME?string"mariadb"
    CP_DATABASE_NAME?stringMYSQL_DATABASE
    CP_DATABASE_USERNAME?stringMYSQL_USER
    CP_DATABASE_PASSWORD?stringMYSQL_PASSWORD
    CP_DATABASE_PREFIX?string"cp_"
    CP_CACHE_HANDLER["file" or "redis"]"file"
    CP_REDIS_HOST?string"localhost"
    CP_REDIS_PASSWORD?stringnull
    CP_REDIS_PORT?number6379
    CP_REDIS_DATABASE?number0
    CP_EMAIL_SMTP_HOST?stringundefined
    CP_EMAIL_FROM?stringundefined
    CP_EMAIL_SMTP_USERNAME?string"localhost"
    CP_EMAIL_SMTP_PASSWORD?stringnull
    CP_EMAIL_SMTP_PORT?number25
    CP_EMAIL_SMTP_CRYPTO["tls" or "ssl"]"tls"
    CP_ENABLE_2FA?booleanundefined
    CP_MEDIA_FILE_MANAGER?stringundefined
    CP_MEDIA_S3_ENDPOINT?stringundefined
    CP_MEDIA_S3_KEY?stringundefined
    CP_MEDIA_S3_SECRET?stringundefined
    CP_MEDIA_S3_REGION?stringundefined
    CP_MEDIA_S3_BUCKET?stringundefined
    CP_MEDIA_S3_PROTOCOL?numberundefined
    CP_MEDIA_S3_PATH_STYLE_ENDPOINT?booleanundefined
    CP_MEDIA_S3_KEY_PREFIX?stringundefined
    CP_DISABLE_HTTPS?[0 or 1]undefined
    CP_MAX_BODY_SIZE?number (with suffix)512M
    CP_PHP_MEMORY_LIMIT?number (with suffix)512M
    CP_TIMEOUT?number900
  • castopod/web-server

    Variable nameTypePar défaut
    CP_APP_HOSTNAME?string"app"
    CP_MAX_BODY_SIZE?number (with suffix)512M
    CP_TIMEOUT?number900