通过Docker安装Tiny RSS,mercury全文插件及mercury-parser-api;申请泛域名证书,安装nginx并配置ssl
最后更新:2022-08-27
我的VPS 为Ubuntu 2022 X64
一、SSH 到你的主机,安装 Docker 环境
运行docker
安装 docker-compose命令
docker容器日志文件很大,很容易导致主机磁盘空间满了,可以设置容器日志文件的大小(此步骤可选)。
新建/etc/docker/daemon.json,若有就不用新建了。添加log-dirver和log-opts参数,样例如下:
max-size=500m,意味着一个容器日志大小上限是500M,
max-file=3,意味着一个容器有三个日志,分别是id+.json、id+1.json、id+2.json。
重启docker守护进程
二、安装Tiny Tiny RSS 容器镜像
推荐安装此镜像: https://github.com/HenryQW/Awesome-TTRSS
集成了以下插件:
四、重度RSS用户,RSSHub不可不用: https://github.com/DIYgod/RSSHub
RSSHub 是一个轻量、易于扩展的 RSS 生成器, 可以给任何奇奇怪怪的内容生成 RSS 订阅源 。国外也有相类似的应用RSS-Bridge,二者相互补充。如RSS-Bridge可以将national geographic网站的内容生成RSS,而RSSHub目前还不能。参考这里。
通过acme.ch方式申请证书。首先安装acme.ch( 安装目录:~/.acme.sh/)。参考此处。
我的VPS 为Ubuntu 2022 X64
一、SSH 到你的主机,安装 Docker 环境
运行docker
安装 docker-compose命令
docker容器日志文件很大,很容易导致主机磁盘空间满了,可以设置容器日志文件的大小(此步骤可选)。
新建/etc/docker/daemon.json,若有就不用新建了。添加log-dirver和log-opts参数,样例如下:
max-size=500m,意味着一个容器日志大小上限是500M,
max-file=3,意味着一个容器有三个日志,分别是id+.json、id+1.json、id+2.json。
重启docker守护进程
二、安装Tiny Tiny RSS 容器镜像
推荐安装此镜像: https://github.com/HenryQW/Awesome-TTRSS
集成了以下插件:
- Mercury: 全文内容提取插件, 需要配合自建 Mercury Parser API, 镜像在此
- Fever: Fever API 模拟插件
通过 docker-compose 部署
创建一个新目录如 ~/tinyrss 并进入该目录,新建 docker-compose.yml,参考此处,下面是我的。
说明:docker-compose.yml 包含了 ttrss 与 postgres 镜像 1、运行以下命令后等待部署完成。2、默认通过 181 端口访问 ttrss,默认账户: admin 密码: password,请第一时间更改。3、当使用域名加密访问时,docker-compose.yml文件里的SELF_URL_PATH为 http://127.0.0.1:181/, 但套了CloudfFlare CDN时需设为 https://127.0.0.1:181/,不知什么原因,多次尝试后知道的。
三、安装Mercury Parser API
访问 http://你的的VPS的IP:3000。出现如下结果就安装OK.
至此tiny rss安装完成,登录ttrss进行设置,最主要的是以下几项。
(1)设置里启用API
(2)插件里启用 fever 及mercury_fulltext 插件
(3)feeds里设置前述3安装的Mercury Parser API网址
其他的可以根据自己情况设置。
完成上述准备工作后,就可以针对特定的订阅源启用全文输出了。方法是:在订阅源管理中,点击需要获取全文的订阅源,在弹出的 Edit Feed 对话框中,勾选 Plugins 选项卡中的 Get fulltext via Mercury Parser。
四、重度RSS用户,RSSHub不可不用: https://github.com/DIYgod/RSSHub
RSSHub 是一个轻量、易于扩展的 RSS 生成器, 可以给任何奇奇怪怪的内容生成 RSS 订阅源 。国外也有相类似的应用RSS-Bridge,二者相互补充。如RSS-Bridge可以将national geographic网站的内容生成RSS,而RSSHub目前还不能。参考这里。
输入以下命令部署:
访问 http://你的的VPS的IP:1200。出现如下结果就安装OK
使用时只需将公共路由列表中的API换成上面的IP或你的域名,如将https://rsshub.app/api/routes/bilibili 换成https://你的IP/api/routes/bilibili 即可使用。公共的也可用,但人太多了,效果不能保证。
说明:记得在防火墙将相关端口放行,如:
检查防火墙状态
访问 http://你的的VPS的IP:1200。出现如下结果就安装OK
使用时只需将公共路由列表中的API换成上面的IP或你的域名,如将https://rsshub.app/api/routes/bilibili 换成https://你的IP/api/routes/bilibili 即可使用。公共的也可用,但人太多了,效果不能保证。
说明:记得在防火墙将相关端口放行,如:
检查防火墙状态
至此tiny rss已经安装完成,完全可以满足日常使用了。但还有两点不足,一是访问的时候要加上端口,二是网站没有加密,你看的什么内容,老大哥都知道。所以接下来,通过安装nginx,配置反向代理;申请Let's Encrypt证书,在nginx里配置SSL,实现网站全部加密访问。
五、通过安装acme.ch从 let's encrypt 生成免费证书
五、通过安装acme.ch从 let's encrypt 生成免费证书
通过acme.ch方式申请证书。首先安装acme.ch( 安装目录:~/.acme.sh/)。参考此处。
创建 一个 bash 的 alias, 方便使用:
以下使用DNS API方式申请泛域名证书(这种方式的好处是, 不需要任何服务器, 不需要任何公网 ip, 只需要 dns 的解析记录即可完成验证,并可自动更新证书)。现在主流的域名提供商都支持DNS API,如cloudflare等。若自己的域名提供商不支持的话,可以把域名提供商提供的 Namesever 修改为 Cloudflare 所提供的Namesevers地址,就可以使用clouddflare提供的API了
获取Cloudflare API 令牌,在cloudflare域名管理首页(右下角)获取 API 密钥-"Get your API token"-"API Tokens"-"API Keys"-"Global API Key"-"view"
设置 Cloudflare API 令牌,将下面的key换成你的,email换成cloudflare的登录email
选择安装证书的类型:由于acme.sh将默认安装的证书类型从letsencrypt换成了zerossl,想要继续使用 letsencryp 证书,有两种解决方案。
第一种是签发证书时指定 CA
另一种是直接更改默认 CA,如下,本博文使用这种方式。
如果设置了默认的 CA,以后就算版本升级也将一直默认使用指定的 CA。
验证 DNS 并申请证书(以下参数带有 ec 或ecc表示生成的是 ECC 证书,没有则是 RSA 证书。在安全性上 256 位的 ECC 证书等同于 3072 位的RSA 证书。)
证书生成以后, 接下来需要把证书 copy 到真正需要用它的地方
查看已经安装的证书、申请日期、更新日期等
撤销证书
删除证书
强制更新所有证书
自动更新acme程序
六、安装并配置nginx
为确保二级子域名可用,首先在域名提供商或cloudflare网站添加A记录
运行以下命令测试配置文件是否正确:
运行以下命令测试配置文件是否正确:
重启nginx加载新的配置文件:
浏览器输入https://mydomain.com应该可以正常访问了。
Docker安装部署FreshRSS和RSS-Bridge搭配使用参考这里。
评论
发表评论