前言
正逢女权主义播客【海马星球】被墙,同为社科播客的【小声喧哗】在微博中呼吁:
播客的用户朋友们,有一句话可能你已经听到各种播客重复了无数遍:
请使用泛用性播客客户端定阅播客
RSS feed是一个有一些古老的互联网技术;在没有智能手机、没有app、没有微信和社交媒体的时候,RSS feed是一条简单的电子流,将我们手里的麦克风和你们耳朵里的震动连起来。
你们喜欢的播客大多会在shownotes中提供RSS feed;拷贝这个feed就可以在你喜欢的泛用性客户端(比如overcast,google podcast,pocketcast或者苹果自带的客户端)找到通过RSS订阅的入口。
在我们手里的数字空间已经被各种app、🧱占地为王的情况下,越多人使用泛用性客户端订阅,播客主的表达就能越勇敢。拜托大家了。
@小声喧哗Loud_Murmurs
意识到RSS的重要性,我搭了这个RSSHub。Docker-compose操作很简单,这里记录一下我的搭建过程。
本教程省略了一些与Docker&Docker compose相关的知识。如果没有安装,请参考这里安装。
搭建过程
看了一下RSSHub项目的docker-compose.yml
,有那么一丢丢的不满意:
version: '3'
services:
rsshub:
image: diygod/rsshub
restart: always
ports:
- '1200:1200'
environment:
NODE_ENV: production
CACHE_TYPE: redis
REDIS_URL: 'redis://redis:6379/'
PUPPETEER_WS_ENDPOINT: 'ws://browserless:3000'
depends_on:
- redis
- browserless
browserless:
# See issue 6680
image: browserless/chrome:1.43-chrome-stable
restart: always
ulimits:
core:
hard: 0
soft: 0
redis:
image: redis:alpine
restart: always
volumes:
- redis-data:/data
volumes:
redis-data:
emmm,这样的话需要额外创建volume
持久化Redis
缓存,后续不好维护,可以直接把volume
固定以文件形式存在。又参考了sleele的博客使用watchtower更新容器和镜像,最后内容如下:
version: '3'
services:
rsshub:
image: diygod/rsshub
restart: always
ports:
- '1200:1200'
environment:
NODE_ENV: production
CACHE_TYPE: redis
REDIS_URL: 'redis://redis:6379/'
PUPPETEER_WS_ENDPOINT: 'ws://browserless:3000'
depends_on:
- redis
- browserless
browserless:
image: browserless/chrome:1.43-chrome-stable
restart: always
redis:
image: redis:alpine
restart: always
volumes:
- ./redis:/data
watchtower:
image: containrrr/watchtower
container_name: watchtower
restart: always
environment:
- TZ=Asia/Shanghai
volumes:
- /var/run/docker.sock:/var/run/docker.sock
command: rsshub_service.rsshub_1 --cleanup --interval 1200
把以上内容写入docker-compose.yml
中,保存,然后运行docker-compose up -d
就搭好了。
Nginx反向代理
如果你没有域名,可以跳过这步。
首先去DNS服务商添加一条指向服务器ip,内容为域名的A记录,然后回到服务器运行以下命令:
sudo -i #切换至root用户
apt install nginx -y #安装nginx
apt install snapd
snap install core #安装snap
snap install certbot --classic #使用snap安装certbot
运行nano /etc/nginx/conf.d/rsshub.conf
,内容如下:
server {
listen 80;
server_name 你的域名;
location / {
proxy_pass http://localhost:1200;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
测试配置文件是否有错误(试运行):
nginx -t
若没有错误,生效新的配置文件并运行 Nginx,开机启动:
nginx -s reload
systemctl start nginx
systemctl enable nginx
运行sudo certbot --nginx
获取SSL证书。
使用
如果此时访问你的域名(没有域名则访问https://服务器ip:1200/
)显示这个页面:
那么恭喜你,你已经有了自己的RSSHub了。如何使用你的RSSHub请看官方文档,按照官方文档的路由格式替换订阅信息,将示例域名https://rsshub.app
直接替换为你自部署的域名即可。如有问题请看常见问题。
后记
关于女性主义播客的推荐,这个豆瓣帖有列出九个质量不错的播客。为了防止此帖也404(可能有点杞人忧天),而Archive也不能备份豆瓣内容,所以我手动备份到了Github Issue上,操作方式参考这里。
万物皆可 RSS!