🎙 Castopod
Castopod makes it easy to publish podcasts and maintain a webpage for your podcast as well. With social features, commenting and fediverse integration, you can share audio with your audience with ease.
![](https://castopod.org/assets/images/open-graph.jpg)
Building your own podcast? If you want to build it with F/OSS software, look no further than Castopod (code)!
![](https://awsmfoss.com/content/images/2022/12/image-8.png)
Castopod comes with a full fledged set of documentation. Wondering how Castopod differs from solutions like Wordpress and other software? They've got a section for that.
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.
Running Castopod
Castopod does require quite a few services to get going, so th easiest way to start is with docker-compose
:
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.