在vps上部署docker有2个目的:
- 把wordpress挪到docker上,解决vps的php太老还不能更新的问题;
- 想把youtube频道或者播放列表转成播客,这样就可以不用盯着屏幕听英语播客,正好经典的podsync就可以用docker来部署。
哎,ChatGPT和Gemini真的暴露出来了太多的硬伤,起码目前是这样。理解力、逻辑能力、还有方法上都有缺陷,太容易走死胡同;更多时候还是要靠自己去看文档,然后给出非常具体的指示,AI才不会那么傻儿吧唧,跟喝醉了酒的一个壮汉似的…
docker好几次重做,经历了防火墙规则、nginx配置文件、apache docker性能问题,即将又推倒重来的时候终于跑通了。而Podsync还是根据github文档稳妥的搭出来的,AI又暴露了没有和现实世界更新的毛病。


podsync的项目地址在:https://github.com/mxpv/podsync。
一个是podsync配置文件config.toml,一个是docker compose配置文件docker-compose.yml,参考如下:
[server]
port = 8080
hostname = "https://your-subdomain.lehua.li"
[storage]
[storage.local]
# Don't change if you run podsync via docker
data_dir = "/app/data/"
[tokens]
youtube = "Your Youtube API token"
[feeds]
[feeds.ID1]
name = "InputEnglish Bobby Series"
url = "https://www.youtube.com/playlist?list=PL7fmP24ymbEu0eOdtfbbBE6uLYWiTV8Vu"
download = true
format = "audio"
quality = "high"
max_episodes = 50 podsync:
image: ghcr.io/mxpv/podsync:nightly # <-- 更改为 nightly,确保与YT兼容
container_name: podsync
restart: always
environment:
- PDS_CONFIG=/config.toml
- PDS_BASE_URL=https://your-subdomain.lehua.li
volumes:
- ./podsync/data:/app/data/
- ./podsync/db:/app/db/
- ./podsync/config.toml:/app/config.toml
ports:
- "8082:8080" #vps的8080早前用作他途了,所以改成了8082至于podcast客户端,还是推荐用Apple自身的吧,‘已收听’‘未收听’很清晰,还不用翻墙。
如果后续podsync日志里有403 forbidden的错误,一般是YouTube更新了签名算法,需要重新拉最新的docker,完整代码如下:
sudo docker stop podsync
sudo docker rm podsync
sudo docker pull ghcr.io/mxpv/podsync:nightly
sudo docker compose up -d podsync
sudo docker logs podsync --follow #启动后,实时查看日志-完-
