Docker 部署 FreshRSS 全流程指南

一、环境准备

1. Docker 基础环境
- 支持所有 Linux 发行版(如 Ubuntu/Debian/CentOS)
- 安装命令(推荐官方脚本):

curl -fsSL https://get.docker.com | sudo sh
sudo usermod -aG docker $USER  # 当前用户加入 Docker 组

2. Docker Compose 扩展
- 需独立安装管理工具:

sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose

二、服务部署

1. 创建专用目录

mkdir -p /opt/freshrss && cd /opt/freshrss  # 集中管理配置文件与数据[2,4](@ref)

2. 编写 Docker Compose 配置

version: "3"
services:
  freshrss:
    image: freshrss/freshrss:latest
    container_name: freshrss
    restart: unless-stopped
    volumes:
      - ./data:/var/www/FreshRSS/data       # 用户数据持久化
      - ./extensions:/var/www/FreshRSS/extensions  # 插件存储[5](@ref)
    environment:
      TZ: Asia/Shanghai                     # 时区设置[3](@ref)
      CRON_MIN: "*/30"                      # 每30分钟自动更新订阅[4](@ref)
    ports:
      - "127.0.0.1:8080:80"                 # 限制本地访问,需反向代理[5](@ref)

  freshrss-db:
    image: postgres:16
    container_name: freshrss-db
    volumes:
      - ./db:/var/lib/postgresql/data       # 数据库持久化[2](@ref)
    environment:
      POSTGRES_DB: freshrss
      POSTGRES_USER: freshrss
      POSTGRES_PASSWORD: freshrss

3. 启动服务

docker compose pull && docker compose up -d  # 自动拉取镜像并启动[3](@ref)

 

三、反向代理配置(以 Nginx 为例)

1. 基础配置模板

server {
    listen 80;
    server_name freshrss.yourdomain.com;
    location / {
        proxy_pass http://127.0.0.1:8080;  # 指向容器端口[5](@ref)
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}

2. SSL 强化(可选)
- 使用 Let's Encrypt 免费证书:

sudo certbot --nginx -d freshrss.yourdomain.com

 

四、初始化与使用

1. 访问安装向导
- 浏览器打开 https://freshrss.yourdomain.com
- **数据库配置**:
- 类型:PostgreSQL
- 主机:freshrss-db(容器服务名自动解析)
- 账户/密码:freshrss(与 Compose 文件一致)

2. 插件扩展
- 将插件文件放入 /opt/freshrss/extensions,后台启用即可
- 推荐插件:
- CustomCSS:自定义界面样式
- YouTube:增强视频订阅支持

3. 客户端联动
- 支持 Reeder、ReadYou 等第三方应用,需开启 API 访问权限

五、维护与备份

1. 数据备份脚本

# 备份数据文件
tar -zcvf freshrss-data-$(date +%F).tar.gz /opt/freshrss/data  
# 备份数据库
docker exec freshrss-db pg_dump -U freshrss freshrss > freshrss-db-$(date +%F).sql

2. 更新与回滚

docker compose pull    # 拉取最新镜像
docker compose down    # 停止服务
docker compose up -d   # 重新启动

 

部署优势与注意事项

轻量化:1GB 内存服务器即可流畅运行
安全建议
- 通过 Nginx 限制 IP 访问或启用 HTTP 认证
- 定期检查 /opt/freshrss/data/config.php`的权限设置
- **扩展性**:支持 RSSHub 联动实现全网内容订阅

> 提示:若需无服务器方案,可尝试 Vercel 部署 RSSHub + FreshRSS 组合。

阅读剩余
THE END