【教程】FreshRSS 安装


脚本一键安装 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 界面来完成,直接删除文件,界面上仍然显示插件。


如果本文帮助到了你,帮我点个广告可以咩(o′┏▽┓`o)


评论
  目录