castopod/docs/src/pt-BR/getting-started/docker.md

3.9 KiB

title sidebarDepth
Official Docker images 3

Official Docker images

Castopod pushes 2 Docker images to the Docker Hub during its automated build process:

Supported tags

  • develop [unstable], latest development branch build

// stable tags to come…

Example usage

  1. Install docker and docker-compose

  2. Create a docker-compose.yml file with the following:

    version: "3.7"
    
    services:
      app:
        image: castopod/app:develop
        container_name: "castopod-app"
        volumes:
          - castopod-media:/opt/castopod/public/media
        environment:
          MYSQL_DATABASE: castopod
          MYSQL_USER: castopod
          MYSQL_PASSWORD: changeme
          CP_BASEURL: "http://castopod.example.com"
          CP_ANALYTICS_SALT: changeme
          CP_CACHE_HANDLER: redis
          CP_REDIS_HOST: redis
        networks:
          - castopod-app
          - castopod-db
        restart: unless-stopped
    
      web-server:
        image: castopod/web-server:develop
        container_name: "castopod-web-server"
        volumes:
          - castopod-media:/var/www/html/media
        networks:
          - castopod-app
        ports:
          - 8080:80
        restart: unless-stopped
    
      mariadb:
        image: mariadb:10.5
        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: changeme
        restart: unless-stopped
    
      redis:
        image: redis:7.0-alpine
        container_name: "castopod-redis"
        ports:
          - 6379:6379
        volumes:
          - castopod-cache:/data
        networks:
          - castopod-app
    
    volumes:
      castopod-media:
      castopod-db:
      castopod-cache:
    
    networks:
      castopod-app:
      castopod-db:
    
  3. Setup a reverse proxy for TLS (SSL/HTTPS), using caddy for example:

    // TODO

  4. Run docker-compose up, wait for it to initialize and head on to https://castopod.example.com/cp-install to finish the setting up Castopod!

  5. You're all set, start podcasting! 🎙️🚀

Environment Variables

  • castopod/app

    Variable name Type (default)
    CP_BASEURL string (undefined)
    CP_MEDIA_BASEURL ?string ((empty))
    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)
  • castopod/web-server

    Variable name Type (default)
    CP_APP_HOSTNAME ?string (app)