部署属于自己的rss服务-freshrss-rsshub


[TOC]

环境

我这里用的是甲骨文的机器,跑了一年了目前也没什么问题

  • arm 1c6g50g
  • debian 11
  • 安装docker
  • docker-compose 最好在2.x.x版本及往上
  • 确保80和443端口没有别其他程序占用

安装

安装docker和docker-compose

`curl -fsSL https://get.docker.com |sh`

因为我的vps是armv8架构的,所以安装docker-compose的时候要自己去看好架构

curl -L https://github.com/docker/compose/releases/latest/download/docker-compose-linux-aarch64 > /usr/bin/docker-compose
chmod +x /usr/bin/docker-compose

systemctl start docker
这是我装好的环境

root@debian:~# docker-compose --version
Docker Compose version v2.5.0
root@debian:~# docker --version
Docker version 20.10.5+dfsg1, build 55c4c88

提前进行做好域名解析

首先需要进行域名解析,因为我是需要部署FreshRSS+Rsshub,因此我需要解析2个域名,rss.****.com,rsshub.****.com.

开始安装

运行命令

wget https://raw.githubusercontent.com/stilleshan/rssforever/main/install.sh && chmod +x install.sh && ./install.sh
=========================================================================================
欢迎使用 TTRSS / FreshRSS / RSSHub 一键安装脚本
注意:本脚本需要服务器有 docker 和 docker compose 环境
更新支持 FreshRSS 服务
更新同时支持 X86 和 ARM 架构
=========================================================================================
1) 开始执行环境检查,确保本服务器满足安装条件.
2) 退出脚本
请输入:1
=========================================================================================
开始检查服务器环境
服务器完成检查,开始执行脚本.
=========================================================================================
选择 RSS 服务
1) TTRSS
2) FreshRSS
3) 退出脚本
请输入:2
选择 RSSHub 服务
1) 添加 RSSHub 服务
2) 无需添加 RSSHub 服务
3) 退出脚本
请输入:1
选择是否开启 HTTPS 支持
1) HTTPS 协议
2) HTTP 协议
3) 退出脚本
请输入:1
注意:本脚本自带申请域名证书功能. RSS 和 RSSHub 必须为同一域名的子域名.
请输入 RSS 使用的域名(例如:rss.ioiox.com):
请输入:rss.xxxx.com
请输入 RSSHub 使用的域名(例如:rsshub.ioiox.com):
请输入:rsshub.xxxx.com
输入主域名用于部署和申请证书
请输入需要申请泛域名证书的根域名(例如:ioiox.com):
请输入:xxxx.com
请选择域名证书颁发机构:
1) ZeroSSL
2) Let's Encrypt
请选择:2
请选择域名服务商:
1) 腾讯云 dnspod.cn
2) 阿里云 aliyun
3) Cloudflare
请选择:3
=========================================================================================
注意: Cloudflare API 有三种:
请参考 https://github.com/acmesh-official/acme.sh/wiki/dnsapi#1-cloudflare-option 选择.
推荐使用第二种: 可参考 https://ssl.ioiox.com/dnsapi.html 获取.
1) Using the global API key
2) Using the new cloudflare api token
3) Using the new cloudflare api token for Single Zone
请选择:2
=========================================================================================
请输入 CF_Token :你的token
请输入 CF_Account_ID :你的id
=========================================================================================
请确认以下信息正确无误!
当前服务器架构为 aarch64
RSS 服务为 FreshRSS
RSSHub 服务 已添加
RSS 域名为  rss.xxxx.com
RSSHub 域名为 rsshub.xxxx.com
申请泛域名证书 xxxx.com
证书颁发机构 Let\'s Encrypt
域名服务商: Cloudflare
CF_Token: 你的token
CF_Account_ID: 你的id
请再次确认以上信息正确无误!
=========================================================================================
1) 开始部署
2) 退出脚本

等待开始部署即可。成功之后进去到web界面设置

web页面的设置

需要注意的就是在数据库这里的设置

  • 数据库类型:PostgreSQL
  • 主机:freshrss.db
  • 用户名:freshrss
  • 密码:在安装的文件夹中,.env 文件中的POSTGRES_PASSWORD字段
  • 数据库:fressrss

在用户管理部分,添加一个api密钥,第三方可以端登陆的时候用的

要打开api认证,用于客户端的登陆

客户端的设置

我是mac,用的是reeder-5.使用freshrss要比tinyrss简单的太多。

点击添加账户,选择自建中的RreshRss选项

然后账号填写的格式如下:

  • Server: https://你的域名/api/greader.php
  • User:用户名
  • Password:你的api密钥,记住是上面设置的api密钥

迁移备份

postgresql的密码在.env中,保存好,然后把db文件夹备份好,换机器之间解压过去,设置好密码就ok