services:
  app:
    image: castopod/castopod:latest
    container_name: ${castopodServName}
    volumes:
      - castopodMedia:/var/www/castopod/public/media
    environment:
      CP_BASEURL: "https://${castopodHost}.${domain}"
      CP_ANALYTICS_SALT: qldsgfliuzrbhgmkjbdbmkvb
      VIRTUAL_PORT: 8000
      CP_CACHE_HANDLER: redis
      CP_REDIS_HOST: redis
     #add by fab
      CP_MEDIA_BASEURL: ""
      CP_ADMIN_GATEWAY: "" 
      CP_AUTH_GATEWAY: "" 
      CP_DATABASE_PREFIX: ""
      CP_REDIS_PORT: 
      CP_REDIS_DATABASE: 
       
    env_file:
      - ../../secret/env-${castopodServName}
      - ../../secret/env-${castopodDBName}
    networks:
      - castopodNet
    expose:
      - 8000
    restart: unless-stopped
    labels:
      - "traefik.enable=true"
      - "traefik.http.routers.${castopodServName}.rule=Host(`${castopodHost}.${domain}`)"
      - "traefik.docker.network=castopodNet"

  mariadb:
    image: mariadb:10.5
    container_name: ${castopodDBName}
    networks:
      - castopodNet
    volumes:
      - castopodDb:/var/lib/mysql
    env_file:
      - ../../secret/env-${castopodDBName}
    restart: unless-stopped

  redis:
    image: redis:7.0-alpine
    container_name: castopodCache
    volumes:
      - castopodCache:/data
    networks:
      - castopodNet
    command: --requirepass ${castopodRedisPassword} 

volumes:
  castopodMedia:
  castopodDb:
  castopodCache:

networks:
  castopodNet:
    external: true
    name: castopodNet