Castopod is built on modern PHP (8.1 is required), using CodeIgniter4, with advanced support for Federation. The codebase is actively worked on and sees active development – hitting the v1.0 milestone in October.
Castopod does require quite a few services to get going, so th easiest way to start is with
version: "3.7" services: app: image: castopod/app:latest 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:latest 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" volumes: - castopod-cache:/data networks: - castopod-app # this container is optional # add this if you want to use the videoclips feature video-clipper: image: castopod/video-clipper:latest container_name: "castopod-video-clipper" volumes: - castopod-media:/opt/castopod/public/media environment: MYSQL_DATABASE: castopod MYSQL_USER: castopod MYSQL_PASSWORD: changeme networks: - castopod-db restart: unless-stopped volumes: castopod-media: castopod-db: castopod-cache: networks: castopod-app: castopod-db:
Quite the handful! But given Castopod's feaureset, it's hard to get away with a smaller set of supporting services.
If you're itching to get a look at the source code, make sure to check out their Gitlab code repository.