【教程】FreshRSS 安装


ocker

脚本一键安装 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:/config/www/freshrss/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:/config/www/freshrss/data
      - ./extensions:/config/www/freshrss/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

最终目录结构如下

K8S

Helm

配置镜像源

helm repo add k8s-home-lab https://k8s-home-lab.github.io/helm-charts/
helm repo update

拉取 chart

mkdir freshrss
cd freshrss
helm pull k8s-home-lab/freshrss --untar
cp ./freshrss/values.yaml values.yaml

编辑 values.yaml

# -- environment variables. See more environment variables in the [freshrss documentation](https://github.com/linuxserver/docker-freshrss#parameters).
# @default -- See below
env:
  # -- Set the container timezone
  TZ: Asia/Shanghai
  # -- Set the container user id
  PUID: "568"
  # -- Set the container group id
  PGID: "568"

# -- Configures service settings for the chart.
# @default -- See values.yaml
service:
  main:
    ports:
      http:
        port: 80
ingress:
  main:
    enabled: true
    ingressClassName: nginx
    annotations:
      nginx.ingress.kubernetes.io/rewrite-target: /
    hosts:
      - host: freshrss.local  # 修改为您的域名
        paths:
          - path: /
            pathType: Prefix

# -- Configure persistence settings for the chart under this key.
# @default -- See values.yaml
persistence:
  config:
    enabled: true
    storageClass: local-path

安装 chart

helm upgrade --install freshrss -n freshrss ./freshrss -f ./values.yaml --create-namespace

配置 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)


评论
  目录