FreshRSS 是一个自托管的 RSS 聚合服务,它不仅轻快易用,并且强大又易于配置,部署需要 PHP
支持,PHP
安装参考文章:Debian 安装国内源 Docker 及其他常用软件
1、部署
按官方文档介绍,直接使用 docker
部署,docker
安装参考文章:Debian 安装国内源 Docker 及其他常用软件
可以参考文章:使用 Docker Compose 命令部署常用服务,更方便的部署。
1.1、创建文件夹
1 2
| mkdir -p ~/.docker/freshrss/freshrss_data mkdir -p ~/.docker/freshrss/freshrss_extensions
|
1.2、拉取最新镜像
1
| docker pull freshrss/freshrss:latest
|
1.3、部署命令
1 2 3 4 5 6 7 8
| docker run -d --restart unless-stopped --log-opt max-size=10m \ -p 8080:80 \ -e TZ=Asia/Shanghai \ -e 'CRON_MIN=1,15,31,45' \ -v ~/.docker/freshrss/freshrss_data:/var/www/FreshRSS/data \ -v ~/.docker/freshrss/freshrss_extensions:/var/www/FreshRSS/extensions \ --name freshrss \ freshrss/freshrss
|
2、配置 Nginx
Nginx
安装参考文章:Debian 安装国内源 Docker 及其他常用软件
2.1、生成证书
如果服务器已经安装 certbot
,只需要运行以下指令
1
| certbot certonly --dns-cloudflare --dns-cloudflare-credentials ~/.secrets/certbot/cloudflare.ini -d rss.ysbzcn.com --email 'email@ysbzcn.com'
|
如果没有 certbot
,需要一些前置安装,参考文章:Debian 安装国内源 Docker 及其他常用软件
2.2、新建 nginx
配置文件
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61
| upstream rss { server 127.0.0.1:8008; }
# HTTP 重定向到 HTTPS server { listen 80; listen [::]:80; server_name rss.ysbzcn.com;
if ($host = rss.ysbzcn.com) { return 301 https://$host$request_uri; } return 403;
# 隐藏 Nginx 版本号 server_tokens off; }
server { listen 443 ssl; listen [::]:443 ssl; http2 on;
server_name rss.ysbzcn.com;
# 隐藏 Nginx 版本号 server_tokens off;
# 判断 $host 如果不是设置好的域名,就返回403页面,可以禁止 IP 访问 Web。 if ($host !~ (rss.ysbzcn.com)$){ return 403; } # 证书位置 ssl_certificate /etc/letsencrypt/live/rss.ysbzcn.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/rss.ysbzcn.com/privkey.pem;
# 可选 SSL 配置 ssl_protocols TLSv1.2 TLSv1.3; # 支持的协议版本 ssl_ciphers HIGH:!aNULL:!MD5; # 加密套件 ssl_prefer_server_ciphers on; # 优先使用服务器加密套件
# 访问和错误日志路径 access_log /var/log/nginx/nginx.rss.access.log; error_log /var/log/nginx/nginx.rss.error.log;
# 反向代理配置 location / { proxy_pass http://rss; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; }
# 拒绝访问隐藏文件: 此配置拒绝对隐藏文件(以点开头)的访问,这可以防止信息泄露。 location ~ /\. { deny all; } }
|
2.3、验证并重载 nginx
配置
输入解析好的域名初始化 FreshRSS
,按步骤选择即可。
3、更新
3.1、停止并移除旧容器
1
| docker stop freshrss && docker rm freshrss
|
3.2、拉取最新镜像
1
| docker pull freshrss/freshrss:latest
|
3.3、重新部署
1 2 3 4 5 6 7 8
| docker run -d --restart unless-stopped --log-opt max-size=10m \ -p 8080:80 \ -e TZ=Asia/Shanghai \ -e 'CRON_MIN=1,15,31,45' \ -v ~/.docker/freshrss/freshrss_data:/var/www/FreshRSS/data \ -v ~/.docker/freshrss/freshrss_extensions:/var/www/FreshRSS/extensions \ --name freshrss \ freshrss/freshrss
|