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