脚本一键安装 FreshRSS
选择一个目录,后续将使用此目录来管理 FreshRSS 的配置文件和插件;
在此目录下创建install.sh
脚本,并插入下列内容:
#!/bin/bash
echo "=== 开始配置 FreshRSS ==="
# 检查本地配置
if [ -d "data" ] || [ -d "extensions" ]; then
echo "警告:检测到本地已存在配置"
read -p "是否清除现有配置并重新初始化?(y/N) " answer
if [ "$answer" = "y" ] || [ "$answer" = "Y" ]; then
echo "清理现有配置..."
rm -rf data extensions
echo "现有配置已清理"
else
echo "保留现有配置,退出脚本"
exit 0
fi
fi
# 检查 docker-compose.yml
if [ -f "docker-compose.yml" ]; then
echo "发现现有的 docker-compose.yml"
read -p "是否覆盖现有的 docker-compose.yml?(y/N) " answer
if [ "$answer" != "y" ] && [ "$answer" != "Y" ]; then
echo "保留现有 docker-compose.yml,退出脚本"
exit 0
fi
fi
echo -e "\n1. 启动临时容器..."
docker run -d --name freshrss-temp linuxserver/freshrss:latest
echo "等待10秒让容器完全初始化..."
sleep 10
echo -e "\n2. 创建本地配置目录..."
mkdir -p data extensions
echo "目录创建完成"
echo -e "\n3. 从运行中的容器复制配置..."
docker cp freshrss-temp:/app/www/data/. ./data/
if [ $? -eq 0 ]; then
echo "数据目录复制成功"
else
echo "错误:数据目录复制失败"
docker rm -f freshrss-temp
exit 1
fi
docker cp freshrss-temp:/app/www/extensions/. ./extensions/
if [ $? -eq 0 ]; then
echo "扩展目录复制成功"
else
echo "错误:扩展目录复制失败"
docker rm -f freshrss-temp
exit 1
fi
echo -e "\n4. 清理临时容器..."
docker rm -f freshrss-temp
echo "临时容器已清理"
echo -e "\n5. 创建 docker-compose.yml..."
cat > docker-compose.yml <<EOL
version: "3"
services:
freshrss-app:
image: linuxserver/freshrss:latest
container_name: freshrss-app
restart: unless-stopped
ports:
- 8888:80
volumes:
- ./data:/app/www/data
- ./extensions:/app/www/extensions
environment:
- TZ=Asia/Shanghai
- PUID=1000
- PGID=1000
dns:
- 8.8.8.8
- 223.5.5.5
EOL
echo "配置文件创建完成"
echo -e "\n=== 配置完成! ==="
echo "你可以:"
echo "1. 编辑 ./data 目录下的配置文件"
echo "2. 编辑 docker-compose.yml 修改端口等设置"
echo "3. 使用 'docker compose up -d' 启动服务"
echo "4. 访问 http://localhost:8888 开始使用 FreshRSS"
echo -e "\n注意:首次访问需要进行初始化设置"
# 询问是否立即启动服务
read -p "是否立即启动服务?(y/N) " answer
if [ "$answer" = "y" ] || [ "$answer" = "Y" ]; then
echo "启动 FreshRSS..."
docker compose up -d
echo "服务已启动,请访问 http://localhost:8888"
fi
/bin/bash install.sh
最终目录结构如下
配置 FreshRSS
初始化
接下来开始配置 FreshRSS
因为我们是使用 docker 来安装,这步基本不会出问题
这步将会配置我们用于存储 RSS 数据的数据库。
建议使用云数据库,FreshRSS 在哪都能布置,数据可没那么好转移
配置用户密码
初始化完成
安全配置
禁用登录
RSS 基本都是自己在看,禁用登录就好
安装插件
插件可以在 https://github.com/FreshRSS/Extensions/ 中找到,这里使用以安装 ArticleSummary 和 AutoTTL 为例演示完整流程。
进入先前创建的 extensions目录
extensions
克隆需要的插件
git clone https://github.com/mgnsk/FreshRSS-AutoTTL.git
git clone https://github.com/LiangWei88/xExtension-ArticleSummary.git
重启一下容器
docker restart freshrss-app
可以看到插件已经正常加载
卸载插件
卸载插件需要使用 FreshRSS UI 界面来完成,直接删除文件,界面上仍然显示插件。