【菜鸟级别教程】使用 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 的区别,我之前一直以为它们是一个东西😯:
- Docker:我们平常所说的 Docker,是一个开源的容器化平台,允许将应用程序及其依赖打包到一个轻量、可移植的"容器"中。
- Docker Desktop:Docker 官方为 macOS 和 Windows 提供的桌面应用程序。它不是一个容器平台,而是一个运行容器的环境,即 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 部署,作者提供了部署配置,这里讲解一下部署过程:
- 将该文件复制到项目根目录下
- 执行
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 查看卷的物理路径。
启动后可以通过以下命令查看日志:
- 查看 MySQL 日志:
docker compose logs -f db - 查看应用日志:
docker compose logs -f app
若启动成功,日志会显示 Server is running at http://0.0.0.0:4000,点击即可访问。
3. 踩坑记录
当时对 Docker 本地部署理解不够深入,操作过程中创建了各种文件,导致应用启动后一直报错说数据表没有创建成功???具体原因我也无法深究,所以只能登陆容器后手动创建数据库表。
解决步骤如下:
- 手动检查数据库中是否有表。使用
docker exec -it登录到容器内,发现确实不存在任何表。 - 手动运行 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«.