什么是 Castopod ?
Castopod
是一种免费的开源播客托管解决方案,专为希望与观众互动的播客而设计。Castopod
目前处于测试阶段,但已经相当稳定并被世界各地的播客使用!
命令行安装
安装并不复杂,但是容器比较多,其中官方的镜像就有 3
个:
castopod/app
:包含所有Castopod
依赖项的应用程序包;castopod/web-server
:Castopod
的Nginx
配置;castopod/video-clipper
:一个可选的基于ffmpeg
构建的视频剪辑镜像包;
此外,Castopod
需要一个与 MySQL
兼容的数据库。还可以添加 Redis
数据库作为缓存处理程序
前期准备
先要准备好域名 ,因为老苏发现用 http://群晖IP:8782
访问会被强制转为 https://群晖IP:8782
,然后返回错误:ERR_SSL_PROTOCOL_ERROR
域名 | 局域网地址 | 备注 |
---|---|---|
https://cp.laosu.ml | http://192.168.0.197:8782 | Castopod 的访问地址 |
用 Nginx Proxy Manager
做反代处理;实际访问时,因为老苏没有备案,所以是 https://cp.laosu.ml:444
其中:
192.168.0.197
为群晖的IP
8772
是准备分配给Castopod
的端口
SSL
设置里一般没啥问题的话都是全部勾选
docker-compose 安装
基于以上,所以在群晖上还是继续采用 docker-compose
安装,请将下面的内容保存为 docker-compose.yml
文件
官方原始的
docker-compose.yml
和变量说明可以在:https://docs.castopod.org/getting-started/docker.html 找到,老苏做了细微的调整;如果你要在portainer
中直接运行,还需要把卷改为绝对路径;
version: "3.7"
services:
app:
image: castopod/app:1.1.2
container_name: "castopod-app"
restart: unless-stopped
volumes:
- ./media:/opt/castopod/public/media
environment:
MYSQL_DATABASE: castopod
MYSQL_USER: castopod
MYSQL_PASSWORD: ERDZQi6Lfg8S
CP_BASEURL: "https://cp.laosu.ml:444"
CP_ANALYTICS_SALT: changeme
CP_CACHE_HANDLER: redis
CP_REDIS_HOST: redis
web-server:
image: castopod/web-server:1.1.2
container_name: "castopod-web-server"
restart: unless-stopped
ports:
- 8782:80
volumes:
- ./media:/var/www/html/media
mariadb:
image: mariadb:10.6
container_name: "castopod-mariadb"
restart: unless-stopped
volumes:
- ./data:/var/lib/mysql
environment:
MYSQL_ROOT_PASSWORD: C8NuQ38js3Ds
MYSQL_DATABASE: castopod
MYSQL_USER: castopod
MYSQL_PASSWORD: ERDZQi6Lfg8S
redis:
image: redis
container_name: "castopod-redis"
volumes:
- ./cache:/data
# this container is optional
# add this if you want to use the videoclips feature
video-clipper:
image: castopod/video-clipper:1.1.2
container_name: "castopod-video-clipper"
volumes:
- ./media:/opt/castopod/public/media
environment:
MYSQL_DATABASE: castopod
MYSQL_USER: castopod
MYSQL_PASSWORD: ERDZQi6Lfg8S
restart: unless-stopped复制
环境变量
这里只列出了老苏用到的环境变量,没用到的可以去看官网的文档说明:https://docs.castopod.org/getting-started/docker.html#environment-variables
mariadb:10.6
可变 | 值 |
---|---|
MYSQL_ROOT_PASSWORD | root 用户的密码,需要修改为你自己的 |
MYSQL_DATABASE | 数据库库名, 设为了 castopod |
MYSQL_USER | 数据库用户,设为了 castopod |
MYSQL_PASSWORD | 数据库用户 castopod 对应的密码, 需要修改为你自己的 |
castopod/video-clipper:1.1.2
需保持和
mariadb:10.6
的设置一致;
可变 | 值 |
---|---|
MYSQL_DATABASE | 数据库库名 |
MYSQL_USER | 数据库用户 |
MYSQL_PASSWORD | 数据库用户 castopod 对应的密码 |
castopod/app:1.1.2
需保持和
mariadb:10.6
的设置一致;
可变 | 值 |
---|---|
MYSQL_DATABASE | 数据库库名 |
MYSQL_USER | 数据库用户 |
MYSQL_PASSWORD | 数据库用户 castopod 对应的密码 |
CP_BASEURL | 应用的 web 地址,需要改成你自己的地址,有端口也要带上 |
CP_ANALYTICS_SALT | 买搞明白是啥,感觉像是个密码类型的 |
CP_CACHE_HANDLER | 可选 file 和 redis ,设为 redis |
CP_REDIS_HOST | redis 数据库主机名,设为 redis |
开始启动
然后执行下面的命令
# 新建文件夹 castopod 和 子目录
mkdir -p /volume2/docker/castopod/{cache,data,media}
# 进入 castopod 目录
cd /volume2/docker/castopod
# 修改 media 目录权限
chmod 777 media
# 将 docker-compose.yml 放入当前目录
# 一键启动
docker-compose up -d复制
/media
文件夹必须是可读可写的,否则你在创建新的博客上会遇到mkdir(): Permission denied
错误
运行
在浏览器中输入 https://cp.laosu.ml:444
程序默认支持中文,不需要另外设置;
如果没有自动跳转的话,就手动打开 https://cp.laosu.ml:444/cp-install
设置管理员账号
登录成功之后的主界面
可以创建一个新的播客
注意:博客封面必须是方形的图片,而且要超过
1400px
创建成功
还要发布播客
发布成功后,Castopod
会为你创建一个社交页面
你的播客将拥有自己的页面,其中包含许多可以自定义的设置
最后看看版本信息
参考文档
ad-aures/castopod: Castopod is an open-source hosting platform made for podcasters who want engage and interact with their audience. Synchronized read-only mirror of https://code.castopod.org/adaures/castopod
地址:https://github.com/ad-aures/castopodOfficial Docker images | Castopod documentation
地址:https://docs.castopod.org/getting-started/docker.html
@所有人:写文不易,如果你都看到了这里,请点个赞
和在看
,分享给更多的朋友;为确保你能收到每一篇文章,请主页右上角设置星标。