1. 项目概述
RSSHub 是一个轻量、易扩展的 RSS 生成器,可以给任何奇奇怪怪的内容生成 RSS 订阅源。通过 Docker 容器化部署 RSSHub,能够实现快速安装、环境隔离和便捷管理,特别适合需要长期稳定运行 RSS 订阅服务的用户。
我在实际部署过程中发现,相比传统安装方式,Docker 方案具有以下优势:
- 一键部署,省去复杂的依赖安装
- 环境隔离,避免污染主机系统
- 版本管理方便,升级回滚都很简单
- 资源占用可控,可以限制 CPU/内存使用
2. 环境准备
2.1 Docker 安装与配置
首先需要在本地系统安装 Docker 引擎。根据操作系统不同,安装方式有所差异:
对于 Ubuntu/Debian 系统:
sudo apt-get update sudo apt-get install docker-ce docker-ce-cli containerd.io对于 CentOS/RHEL 系统:
sudo yum install -y yum-utils sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo sudo yum install docker-ce docker-ce-cli containerd.io安装完成后,启动 Docker 服务并设置开机自启:
sudo systemctl start docker sudo systemctl enable docker注意:如果遇到权限问题,可以将当前用户加入 docker 用户组:
sudo usermod -aG docker $USER newgrp docker
2.2 镜像源优化
国内用户建议配置镜像加速器以提高下载速度。编辑或创建 /etc/docker/daemon.json 文件:
{ "registry-mirrors": [ "https://hub-mirror.c.163.com", "https://mirror.baidubce.com" ] }然后重启 Docker 服务使配置生效:
sudo systemctl daemon-reload sudo systemctl restart docker3. RSSHub 部署
3.1 拉取镜像
官方提供了最新的 RSSHub 镜像,可以直接拉取:
docker pull diygod/rsshub如果需要特定版本,可以指定标签:
docker pull diygod/rsshub:latest3.2 运行容器
基本运行命令:
docker run -d --name rsshub -p 1200:1200 diygod/rsshub这个命令会:
- 在后台运行 (-d)
- 将容器命名为 rsshub (--name)
- 映射主机 1200 端口到容器的 1200 端口 (-p)
- 使用 diygod/rsshub 镜像
3.3 高级配置
如果需要自定义配置,可以挂载配置文件:
docker run -d --name rsshub \ -p 1200:1200 \ -v /path/to/config.js:/app/config.js \ diygod/rsshub常见的环境变量配置:
docker run -d --name rsshub \ -p 1200:1200 \ -e CACHE_EXPIRE=3600 \ -e PORT=1200 \ diygod/rsshub4. 使用与管理
4.1 访问服务
容器启动后,可以通过以下方式访问:
- 本地访问:http://localhost:1200
- 局域网访问:http://<服务器IP>:1200
4.2 容器管理
查看运行状态:
docker ps -f name=rsshub查看日志:
docker logs rsshub停止容器:
docker stop rsshub启动已停止的容器:
docker start rsshub删除容器:
docker rm rsshub4.3 数据持久化
为了防止数据丢失,建议挂载缓存目录:
docker run -d --name rsshub \ -p 1200:1200 \ -v /path/to/cache:/app/cache \ diygod/rsshub5. 常见问题解决
5.1 端口冲突
如果 1200 端口已被占用,可以修改映射端口:
docker run -d --name rsshub -p 1201:1200 diygod/rsshub5.2 内存不足
可以通过参数限制内存使用:
docker run -d --name rsshub \ -p 1200:1200 \ --memory 512m \ diygod/rsshub5.3 更新版本
更新 RSSHub 到最新版本:
docker stop rsshub docker rm rsshub docker pull diygod/rsshub:latest docker run -d --name rsshub -p 1200:1200 diygod/rsshub6. 进阶配置
6.1 使用 Docker Compose
对于更复杂的部署,推荐使用 docker-compose.yml 文件:
version: '3' services: rsshub: image: diygod/rsshub restart: always ports: - "1200:1200" environment: - CACHE_EXPIRE=3600 - PORT=1200 volumes: - ./cache:/app/cache然后运行:
docker-compose up -d6.2 配置 HTTPS
可以通过 Nginx 反向代理配置 HTTPS:
server { listen 443 ssl; server_name rsshub.yourdomain.com; ssl_certificate /path/to/cert.pem; ssl_certificate_key /path/to/key.pem; location / { proxy_pass http://localhost:1200; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; } }6.3 性能优化
对于高负载环境,可以调整以下参数:
- 增加缓存时间:CACHE_EXPIRE=86400
- 启用集群模式
- 使用 Redis 作为缓存后端
7. 实际使用技巧
7.1 路由发现
RSSHub 提供了丰富的路由,可以通过以下方式发现:
- 访问 / 查看文档
- 查阅官方文档:https://docs.rsshub.app
7.2 自定义路由
如果需要添加自定义路由,可以:
- 创建自定义配置文件
- 挂载到容器中的 /app/lib/routes 目录
- 按照官方文档格式编写路由
7.3 监控与维护
建议配置基础监控:
- 使用 docker stats 查看资源使用
- 设置日志轮转
- 定期检查更新
我在实际使用中发现,RSSHub 的 Docker 镜像非常稳定,长期运行很少出现问题。最重要的是合理配置缓存参数,既能保证数据新鲜度,又能减轻服务器负担。对于个人使用场景,默认配置已经足够;如果是团队使用,建议配置 Redis 缓存和适当的访问控制。