首页
/ 使用Docker Compose部署wewe-rss订阅服务指南

使用Docker Compose部署wewe-rss订阅服务指南

2025-07-07 03:39:51作者:冯爽妲Honey

wewe-rss是一个基于RSS协议的订阅服务解决方案,本文将详细介绍如何使用Docker Compose快速部署wewe-rss服务。

系统架构概述

wewe-rss采用典型的微服务架构,主要包含两个核心组件:

  1. 数据库服务:使用MySQL 8.3作为数据存储
  2. 应用服务:运行wewe-rss主程序

这种分离式设计使得系统具有更好的可扩展性和维护性。

部署前准备

在开始部署前,请确保您的系统已安装:

  • Docker 20.10.0或更高版本
  • Docker Compose 3.9或更高版本

配置文件详解

数据库服务配置

db:
  image: mysql:8.3.0
  command: --mysql-native-password=ON
  environment:
    MYSQL_ROOT_PASSWORD: 123456
    TZ: 'Asia/Shanghai'
    MYSQL_DATABASE: 'wewe-rss'
  volumes:
    - db_data:/var/lib/mysql
  healthcheck:
    test: ['CMD', 'mysqladmin', 'ping', '-h', 'localhost']
    timeout: 45s
    interval: 10s
    retries: 10

关键配置说明:

  • MYSQL_ROOT_PASSWORD:强烈建议修改为更复杂的密码
  • TZ:设置时区为亚洲/上海
  • volumes:将数据库数据持久化到本地
  • healthcheck:确保数据库完全启动后应用服务才会启动

应用服务配置

app:
  image: cooderl/wewe-rss:latest
  ports:
    - 4000:4000
  depends_on:
    db:
      condition: service_healthy
  environment:
    - DATABASE_URL=mysql://root:123456@db:3306/wewe-rss?schema=public&connect_timeout=30&pool_timeout=30&socket_timeout=30
    - AUTH_CODE=123567

重要环境变量:

  • DATABASE_URL:数据库连接字符串,密码需与db服务一致
  • AUTH_CODE:API访问授权码,建议修改为复杂字符串
  • FEED_MODE(可选):设置为fulltext可启用全文提取模式
  • CRON_EXPRESSION(可选):自定义订阅源更新频率
  • MAX_REQUEST_PER_MINUTE(可选):API请求限流设置
  • SERVER_ORIGIN_URL(可选):外网访问时需设置为公网IP或域名

部署步骤

  1. 创建项目目录并进入:

    mkdir wewe-rss && cd wewe-rss
    
  2. 创建docker-compose.yml文件,内容参考上文配置

  3. 修改必要配置:

    • 数据库root密码
    • API授权码
    • 其他可选配置
  4. 启动服务:

    docker-compose up -d
    
  5. 验证服务:

    docker-compose ps
    

高级配置建议

性能调优

对于高负载环境,建议:

  • 增加MySQL资源限制
  • 调整连接池参数
  • 配置适当的缓存策略

安全加固

  1. 使用非root账户连接数据库
  2. 定期备份数据库卷
  3. 配置HTTPS访问
  4. 设置防火墙规则限制访问IP

常见问题排查

  1. 服务启动失败

    • 检查日志:docker-compose logs
    • 验证数据库连接配置
  2. API无法访问

    • 确认端口4000未被占用
    • 检查防火墙设置
  3. 订阅更新异常

    • 检查CRON表达式格式
    • 验证网络连接是否正常

维护与升级

  1. 定期备份数据卷
  2. 更新镜像版本:
    docker-compose pull && docker-compose up -d
    

通过以上步骤,您已经成功部署了一个功能完整的wewe-rss订阅服务。根据实际需求,您可以进一步调整配置参数以优化服务性能和安全性。