ᕕ( ᐛ )ᕗ xiaoli's blog

【菜鸟级别教程】使用 Docker 部署 wewe-rss

; 1789 words  

目录

写在最前面

前几周上班不算忙,研究了 RSS 客户端,subscribe 了几个比较不错的博客,方便上班摸鱼时阅读。发现经常浏览的技术博主 why技术 没有独立博客,只频繁在微信公众号更新,因此找到了 wewe-rss 这个项目,可以订阅微信公众号的更新,并且支持私有化部署。

目前项目列出的几个部署渠道,如 Zeabur 和 Railway 都没有免费资源,Hugging Face 部署太麻烦,因此选择使用 Docker 部署,同时学习一下 Docker 部署应用的原理和相关命令。官方文档中的教程比较粗略,我在这里会详细讲解整个部署过程。

最终部署成功的网页效果如下:

部署流程

1. Docker 安装

按理说 Docker 安装是最简单的步骤,一个命令就能搞定。但由于是在公司电脑部署(红线警告),公司电脑居然禁止安装 Docker Desktop。因此在选择替代产品时也经历了一些小坑,最开始用的是 Apple Container,但它支持的功能太有限了,后来转而使用 Colima,目前使用效果还不错。

这里简单介绍一下 Docker 和 Docker Desktop 的区别,我之前一直以为它们是一个东西😯:

在 macOS 上安装和使用 Docker/Colima 的步骤如下:

# 安装 Docker CLI(命令行工具)
brew install docker

# 安装 Colima(轻量级容器运行时)
brew install colima

# 启动 Colima
colima start

# 验证 Docker 是否正常工作
docker version

Docker 引擎无法直接在 macOS 或 Windows 上运行,所以需要 Docker Desktop 或 Colima 先启动一个轻量级 Linux 虚拟机(VM),然后在 VM 里运行 Docker 引擎。经常看到的报错信息 This error may indicate that the docker daemon is not running. 就是因为 VM 没有启动。这里的 daemon 是 Docker daemon(守护进程),主要负责监听请求并与客户端交互。Docker 命令只是"客户端",它必须连接到"服务端"(daemon)才能工作。如果没启动 Docker Desktop 或 Colima,就没有服务端,就会报错。

具体的安装命令很简单,可以自行搜索。

2. 环境部署

进入正题,其实环境部署很简单。可以直接使用 Docker Compose 部署,作者提供了部署配置,这里讲解一下部署过程:

  1. 将该文件复制到项目根目录下
  2. 执行 docker compose up -d 命令即可启动

这里介绍一下什么是 Docker Compose。查看配置文件可以发现,部署过程使用了两个镜像:wewe-rss 和 MySQL。如果没有 Docker Compose,需要分别使用 docker run -d 命令逐个启动容器。而现在只需要编写一个 docker-compose.yml 文件,使用 docker compose up -d 命令即可一次性启动所有服务,并自动创建网络、挂载数据卷、设置环境变量等。

配置文件里还用到了命名卷(named volume),可以完全避开宿主机文件系统权限问题。命名卷由 Docker 管理,存储在 Docker 内部文件系统中,可以通过 docker volume inspect wewe-rss-mysql_data 查看卷的物理路径。

启动后可以通过以下命令查看日志:

若启动成功,日志会显示 Server is running at http://0.0.0.0:4000,点击即可访问。

3. 踩坑记录

当时对 Docker 本地部署理解不够深入,操作过程中创建了各种文件,导致应用启动后一直报错说数据表没有创建成功???具体原因我也无法深究,所以只能登陆容器后手动创建数据库表。

解决步骤如下:

  1. 手动检查数据库中是否有表。使用 docker exec -it 登录到容器内,发现确实不存在任何表。
  2. 手动运行 Prisma 迁移建表:
# 进入 wewe-rss 容器
docker exec -it wewe-rss sh

# 查看是否有 prisma
ls /app/node_modules/.bin/prisma

npx prisma migrate deploy --schema /app/prisma/schema.prisma

# 使用 prisma db push(快速建表)
npx prisma db push --schema ./prisma/schema.prisma

经过以上操作后,数据表创建成功,部署的应用也可以正常启动。

这里又查阅了 Prisma 的文档 了解其功能,发现它其实是一个数据库工具集,在该项目中主要作为数据库客户端来操作数据库。

4. 后续维护

只需要部署一次,之后电脑重启或 Docker 重启后,WeWe-RSS 会自动恢复,数据和配置都会保留,直接访问即可:

# 1. 确保 Colima(或 Docker Desktop)已启动
colima start

# 2. 进入你的项目目录
cd ~/project/docker/wewe-rss

# 3. 启动服务
docker compose up -d

总结

通过这次使用 Docker 部署 wewe-rss 的实践,我不仅成功搭建了一个可以订阅微信公众号的 RSS 服务,还深入了解了 Docker 的基本概念和使用方法。从最初对 Docker 和 Docker Desktop 概念的混淆,到后来能够熟练使用 docker compose 管理多容器应用,这个过程让我对容器化技术有了更深入的理解。

其他

部署全过程结合Qwen3-235B-A22B-2507共同实现,该篇文章由通义灵码-智能体润色。

This is a page about »使用docker部署wewe-rss«.

#docker