惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Google DeepMind News
Google DeepMind News
Stack Overflow Blog
Stack Overflow Blog
Hugging Face - Blog
Hugging Face - Blog
博客园_首页
T
The Blog of Author Tim Ferriss
博客园 - 叶小钗
N
Netflix TechBlog - Medium
腾讯CDC
C
Check Point Blog
P
Proofpoint News Feed
Engineering at Meta
Engineering at Meta
GbyAI
GbyAI
S
SegmentFault 最新的问题
F
Fortinet All Blogs
美团技术团队
U
Unit 42
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
博客园 - 司徒正美
F
Full Disclosure
Recorded Future
Recorded Future
D
DataBreaches.Net
博客园 - 【当耐特】
Martin Fowler
Martin Fowler
J
Java Code Geeks
I
InfoQ
Y
Y Combinator Blog
A
About on SuperTechFans
AI
AI
爱范儿
爱范儿
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
Forbes - Security
Forbes - Security
W
WeLiveSecurity
M
MIT News - Artificial intelligence
雷峰网
雷峰网
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
Simon Willison's Weblog
Simon Willison's Weblog
Schneier on Security
Schneier on Security
The GitHub Blog
The GitHub Blog
Security Archives - TechRepublic
Security Archives - TechRepublic
aimingoo的专栏
aimingoo的专栏
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
G
GRAHAM CLULEY
Know Your Adversary
Know Your Adversary
Latest news
Latest news
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
D
Docker
Recent Commits to openclaw:main
Recent Commits to openclaw:main
量子位
V2EX - 技术
V2EX - 技术
Project Zero
Project Zero

思有云 - IOIOX - RSS

Reeder 5 正式发布了 附简单使用情况 - 思有云 本站提供免费 RSS 和 RSSHub 服务 - 思有云 docker compose 部署配置 Awesome TTRSS 教程 - 思有云 新增一键安装脚本 Nginx + TTRSS + RSSHub + Watchtower + ACME 容器化快速一键部署方案 - 思有云
新手教程 Nginx + TTRSS + RSSHub 整合 docker 容器化快速一键部署方案 - 思有云
博主: Stille · 2022-11-23 · via 思有云 - IOIOX - RSS

前言

rssforever.com 为网友提供免费的 RSS 和 RSSHub 服务已经一年有余,由于服务器压力及个人精力有限等原因已停止提供 RSS 服务.鉴于很多新手用户技术有限,特将 nginx , ttrss , rsshub 三个项目整合到 docker compose 中,实现一键部署使用.

本文部署流程非常简单,仅需 3 步,但还是建议新手用户耐心看完在进行操作.

特点

  1. 本项目针对新手用户,提供整合配置,无需繁琐的设置,即使是新手用户最快也只需要几步操作,几分钟即可部署使用.
  2. 使用 docker compose 编排配置,所有命令,配置及环境变量集中管理,方便维护和迁移.
  3. 更换服务器也仅需打包备份一个文件夹,迁移解压后一条命令即可恢复使用.

环境需求

  • 至少 1 核 1G 境外 VPS 服务器 ( 国内服务器由于网络问题,不推荐使用. )
  • 拥有自己的域名 ( 自行申请泛域名证书可使用 HTTPS 部署 )
  • 服务器未占用 80/443 端口
  • 服务器已安装 docker 和 docker compose 环境 ( 未安装可参考下文简易安装指南 )

由于此项目为新手向服务,不支持已被其他服务占用 80/443 端口的服务器.请停止相关服务或更换新服务器部署使用.
此项目一共会启动 9 个容器,服务器性能不足请不要部署其他应用,并且私有化个人使用.避免服务器压力过大.
如果服务器上已有 nginx 等占用 80/443 端口的服务,同时又有部署的需求,请联系我进行付费技术支持.

本文为 Stille 原创文章.经实践,测试,整理发布.如需转载请联系作者获得授权,并注明转载地址.


更新

2021-06-18 更新一键安装脚本.

一键安装脚本

一键安装脚本支持以下四种模式,请根据自身情况选择.

  1. nginx + ttrss + rsshub + watchtoer + acme 自动申请和续签证书并开启 HTTPS 模式
  2. nginx + ttrss + rsshub + watchtoer + 无证书 HTTP 模式
  3. nginx + ttrss + acme 自动申请和续签证书并开启 HTTPS 模式
  4. nginx + ttrss + 无证书 HTTP 模式

前期准备

本脚本适用于ttrssrsshub域名使用同一根域名,例如rss.rssforever.comrsshub.rssforever.com将自动申请*.rssforever.com泛域名证书.且脚本仅适用于首次安装.请提前将以上域名解析指向服务器.同时参考 这篇文章 中的 准备 DNS API 章节来获取域名服务商 API 以便脚本申请证书使用.

执行脚本

wget https://raw.githubusercontent.com/stilleshan/rssforever/main/install.sh && chmod +x install.sh && ./install.sh

定时更新证书

证书每月1日自动更新,请执行以下命令来定时每月重启nginx服务刷新证书.也可每月手动执行docker-compose restart来重启服务.

crontab -e
# 添加以下计划任务
0 0 2 * * docker restart rssforever_nginx_1
# 为避免时区问题,将在每月 2 号 0 点执行

手动部署

docker 及 docker compose 必须提前安装到服务器中,相关教程网上很多,也可逐一执行以下 6 条命令安装启动:

# 安装 docker
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
sudo systemctl start docker
sudo systemctl enable docker
# 安装 docker compose
curl -L https://github.com/docker/compose/releases/download/1.29.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose

安装完成并检查

docker -v
docker-compose -v

配置域名解析

分别为RSSRSSHub两个站点配置两个二级域名,例如rss.yourdomain.comrsshub.yourdomain.com.并设置A记录或CNAME到服务器.

HTTP 部署

拉取代码

git clone https://github.com/stilleshan/rssforever.git
# 拉取代码
cd rssforever
# 进入目录,注意不要修改目录名,否则会导致 watchtower 无法监控容器自动更新镜像.

配置 .env 文件

修改.env文件中RSSRSSHub的域名以及数据库密码

RSS_DOMAIN=rss.yourdomain.com
RSSHUB_DOMAIN=rsshub.yourdomain.com
POSTGRES_PASSWORD=rssforever.com

启动

docker-compose up -d
# 再次注意需要在 rssforever 目录下执行

完成

访问 http://rss.yourdomain.com 使用adminpassword登陆使用,请及时修改密码.
访问 http://rsshub.yourdomain.com 并参考官方文档使用.

HTTPS 部署

拉取代码

git clone https://github.com/stilleshan/rssforever.git
# 拉取代码
cd rssforever
# 进入目录,注意不要修改目录名,否则会导致 watchtower 无法监控自动更新容器.

配置 .env 文件

修改.env文件中RSSRSSHub的域名以及数据库密码

RSS_DOMAIN=rss.yourdomain.com
RSSHUB_DOMAIN=rsshub.yourdomain.com
POSTGRES_PASSWORD=rssforever.com

上传泛域名证书和密钥文件至nginx/ssl目录下.
并以yourdomain.com.cer形式命名,证书后缀cer或者crt等均不影响使用.
修改.env文件中域名证书和密钥文件名
修改.env文件中PROTOCOL=https
具体参考如下:

PROTOCOL=https
RSS_DOAMIN_CERT=yourdomain.com.cer
RSS_DOMAIN_KEY=yourdomain.com.key
RSSHUB_DOAMIN_CERT=yourdomain.com.cer
RSSHUB_DOMAIN_KEY=yourdomain.com.key

注意:如果使用单域名证书,请分别将两个域名证书上传至nginx/ssl中,分别修改.env文件中 RSS 和 RSSHub 域名证书和密钥文件名.

# 单域名参考配置
RSS_DOAMIN_CERT=rss.yourdomain.com.cer
RSS_DOMAIN_KEY=rss.yourdomain.com.key
RSSHUB_DOAMIN_CERT=rsshub.yourdomain.com.cer
RSSHUB_DOMAIN_KEY=rsshub.yourdomain.com.key

启动

docker-compose up -d
# 再次注意需要在 rssforever 目录下执行

完成

访问 https://rss.yourdomain.com 使用adminpassword登陆使用,请及时修改密码.
访问 https://rsshub.yourdomain.com 并参考官方文档使用.


进阶

强制跳转 HTTPS

2021-05-28 新增功能:
.env配置PROTOCOL=https时,将自动配置return 301强制跳转至HTTPS协议.

证书更新

本项目目前并未配置自动更新证书的功能,今后视情况加入其中.
泛域名有效期三个月,请自行续签后覆盖原有证书,执行docker-compose down停止服务,并在次执行docker-compose up -d启动即可.

高级配置

TTRSS 和 RSSHub 可以通过修改docker-compose.yml设置环境变量来配置高级功能,详情请参考本文末尾项目官方文档进行修改.
值得注意的是本项目的docker-compose.yml定制化过多,请慎重修改.
通常来说修改volumesenvironment参数来挂载目录,设置一些高级配置并不会对本服务有影响.如诺出现问题请提交issue.

备份恢复

备份

本项目采用 docker compose 部署,所有配置及数据都在rssforever目录中,方便备份和迁移.
rss目录会在项目启动后自动生成,存放rss的数据库,不可删除.( 除非希望重新部署 )
rsshub目录会在项目启动后自动生成,此目录为缓存数据,迁移时可以删除以免占用过大空间.
其他所有文件及目录,如不清楚请不要随意修改和删除,否则会导致服务无法启动.

恢复

将域名A记录重新指向新服务器,将备份的rssforever目录解压进入启动即可.

cd rssforever
# 进入目录
docker-compose up -d
# 启动

初始化

如果误操作修改了相关参数导致无法使用,请备份rss目录后,删除整个rssforever目录.重新按照上文git clone拉取代码,修改.env文件,在将rss移动至rssforever下,执行docker-compose up -d重新部署.


结语

感谢

感谢以下大神提供的项目:

链接