FreshRSS 平台搭建
RSS 是最为简洁直接的信息获取手段, 可以防止各种低质量信息的轰炸. 在
即刻APP
陨落、Feedly
等封禁后, 博主开始了自搭建 RSS 平台的道路.
博主选择 FreshRSS 平台,
大家也可选择 TTRSS, 由于
Reeder 5
废弃 fever API
后, 因此
FreshRSS
较好.
安装 Docker
博主所用 VPS 为 Ubuntu 18.04
系统,
如下命令适用该系统.
# 使用官方一键安装脚本
sudo curl -fsSL https://get.docker.com | sh
# 如果是非 Root 账户,将当前账户添加到 "docker" 组
sudo usermod -aG docker <your-user>
# 从 GitHub 下载 docker-compose 到本地相应目录
sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
# 赋予 Docker Compose 目录相应权限
sudo chmod +x /usr/local/bin/docker-compose
FreshRSS
安装
# 创建 FreshRSS 目录并进入
mkdir ~/freshrss && cd ~/freshrss
# 编辑文件
vim docker-compose.yml
docker-compose.yml
添加如下内容:
version: "3"
services:
freshrss-db:
image: postgres:latest
container_name: freshrss-db
hostname: freshrss-db
restart: unless-stopped
volumes:
- freshrss-db:/var/lib/postgresql/data
environment:
POSTGRES_USER: freshrss
POSTGRES_PASSWORD: freshrss
POSTGRES_DB: freshrss
freshrss-app:
image: freshrss/freshrss:latest
container_name: freshrss-app
hostname: freshrss-app
restart: unless-stopped
ports:
- "8080:80"
depends_on:
- freshrss-db
volumes:
- ./data:/var/www/FreshRSS/data
- ./extensions:/var/www/FreshRSS/extensions
environment:
CRON_MIN: '*/45'
TZ: Asia/Shanghai
volumes:
freshrss-db:
注:
freshrss-db
的environment
中用户密码等, 建议用户根据自身配置进行设定/45
: 代表每 45 分钟同步一次
# 先前台执行观察输出
docker-compose up
# 确认无误后后台持续运行
docker-compose up -d
# 手动同步
docker exec -it freshrss-app su www-data -s /bin/sh -c 'php /var/www/FreshRSS/app/actualize_script.php'
网站反向代理
博主根据参考资料发现适用 Docker
版会出现无法获取对应证书的情况, 因此采用外部配置.
安装过程参考官方文档.
Caddy
可自行申请 https
证书用于保护使用者的信息安全.
sudo apt install -y debian-keyring debian-archive-keyring apt-transport-https
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | sudo tee /etc/apt/trusted.gpg.d/caddy-stable.asc
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | sudo tee /etc/apt/sources.list.d/caddy-stable.list
sudo apt update
sudo apt install caddy
cat > /etc/caddy/Caddyfile <<EOF
freshrss.example.net {
tls your_email@example.net
reverse_proxy 127.0.0.1:8080
}
EOF
注:
freshrss.example.net
: 替换为你的域名your_email@example.net
: 替换为你的邮箱127.0.0.1:8080
: 由于上方docker
将freshrss
的端口映射为宿主机的8080
端口, 采用该配置.
# 开机自启
systemctl enable caddy
# 开启服务
service caddy start
# 停止服务
service caddy stop
# 服务状态
service caddy status
配置
- 通过
https://域名
或服务器IP:8080
访问服务页面;(注: 需要注意服务器是否开启对应端口访问限制) - 数据库配置时
- 采用用户密码与
DockerFile
配置相同; - 对于
数据库IP
, 利用docker inspect freshrss-db
找到IPAddress
即为该位置填写结果;
- 采用用户密码与
- 完成配置
博主通常采用 API 进行管理, 配置步骤为 a.
用户账号-API 管理-API 密码
页面配置同步密码 b.认证
页面勾选允许 API 访问 (用于手机应用)
配置 Docker 代理
参考 官方文档 进行配置:
注意: 采用 172.18.0.1
为
docker inspect freshrss-db
获得的网关地址
Gateway
. 如果存在多个 docker
服务可能存在不在一个子网的情况, 无法访问宿主机, 参考官方建议
可利用 host.docker.internal
代替.
mkdir -p ~/.docker
cat > ~/.docker/config.json <<EOF
{
"proxies":
{
"default":
{
"httpProxy": "http://172.18.0.1:3128",
"httpsProxy": "http://172.18.0.1:3128",
"noProxy": "*.test.example.com,.example2.com,127.0.0.0/8"
}
}
}
EOF
参考资料
FreshRSS 平台搭建
https://www.windism.cn/4220000640.html