首页
/ Earthworm开源项目快速部署指南:10分钟容器化开发环境搭建

Earthworm开源项目快速部署指南:10分钟容器化开发环境搭建

2026-03-13 05:53:43作者:沈韬淼Beryl

一、环境痛点分析:从2小时到10分钟的跨越

作为开发者,我们都经历过本地环境配置的"噩梦":PostgreSQL版本冲突导致数据库连接失败、Redis配置繁琐占用大量调试时间、Logto认证服务部署步骤复杂易出错。这些问题往往让我们在真正开始开发前就耗费1-2小时,甚至出现"我明明按文档配置了,为什么还是跑不起来"的困境。

Earthworm项目通过Docker容器化方案彻底解决了这些问题。容器化部署(将应用及其依赖打包成标准化单元)能确保开发环境一致性,让我们把宝贵的时间真正用在功能开发上。

开发效率提升对比

环境配置方式 平均耗时 问题发生率 环境一致性
传统手动配置 120分钟 65%
Docker容器化 10分钟 8%

二、容器化部署新方案:五步实现一键启动

环境检查清单

  • [ ] Docker 24.0.0+(容器化运行环境)
  • [ ] Node.js v20+(JavaScript运行时)
  • [ ] pnpm 8+(包管理工具)
  • [ ] 8GB以上内存(推荐16GB)
  • [ ] 10GB空闲磁盘空间

环境部署时间轴

timeline
    title Earthworm环境部署流程
    section 准备阶段
        克隆代码库      : 1分钟
        安装依赖        : 3分钟
    section 配置阶段
        环境变量设置    : 2分钟
        Logto数据初始化 : 1分钟
    section 启动阶段
        Docker服务集群  : 2分钟
        数据库初始化    : 1分钟

① 代码准备与依赖安装

ℹ️ 首先获取项目代码并安装依赖包,这是所有开发的基础步骤。

# 克隆项目代码库
git clone https://gitcode.com/GitHub_Trending/ea/earthworm
cd earthworm

# 启用corepack确保pnpm可用
corepack enable

# 安装项目所有依赖(包含工作区依赖)
pnpm install

⚠️ 常见误区:直接使用npm install会导致依赖版本不一致,必须使用pnpm安装。

② 环境变量配置

ℹ️ 环境变量是连接应用与外部服务的桥梁,正确配置是系统正常运行的关键。

# 配置后端环境变量
cp ./apps/api/.env.example ./apps/api/.env

# 配置前端环境变量
cp ./apps/client/.env.example ./apps/client/.env

[!TIP] 核心配置项说明(apps/api/.env):

  • DATABASE_URL:PostgreSQL数据库连接地址 格式:postgresql://用户名:密码@主机:端口/数据库名
  • REDIS_URL:Redis缓存服务地址
  • LOGTO_ENDPOINT:认证服务接口地址

③ Logto认证数据初始化

ℹ️ Logto是Earthworm的认证系统,需要预置初始数据才能正常工作。

# 解压Logto数据库初始化数据到指定目录
unzip logto_db_init_data.zip -d .volumes/

✅ 初始管理员账户:admin/WkN7g5-i8ZrJckX
✅ 管理界面地址:http://localhost:3011

④ Docker服务集群启动

ℹ️ 通过docker-compose启动所有依赖服务,包括PostgreSQL、Redis和Logto。

# 启动所有Docker服务(后台运行)
pnpm docker:start

# 查看服务状态,确保所有服务都显示"Up"状态
docker compose ps

⚠️ 注意:启动前建议检查端口占用情况,避免5433、6379、3010等端口被占用。可以使用netstat -tuln命令查看端口使用情况。

Earthworm容器架构采用多服务协同设计:

  • 主数据库服务:存储应用核心数据
  • Redis缓存服务:提升系统响应速度
  • Logto认证服务:处理用户身份验证
  • Logto专用数据库:存储认证相关数据

⑤ 应用数据库初始化

ℹ️ 创建数据库表结构并导入初始课程数据,让系统具备基础运行能力。

# 创建数据表结构
pnpm db:init

# 导入初始课程数据
pnpm db:upload

✅ 完成后,系统已具备基本运行条件,接下来可以启动开发服务器了。

三、环境验证与扩展:从基础运行到问题排查

开发服务器启动

# 启动后端API服务(默认端口3000)
pnpm dev:serve &

# 启动前端Nuxt服务(默认端口3010)
pnpm dev:client

环境功能验证

✅ 前端应用验证:访问http://localhost:3001,应能看到Earthworm主界面

Earthworm应用首页

✅ 数据库连接验证:

# 连接主数据库
psql -h localhost -p 5433 -U postgres earthworm

# 查询课程数据,应返回导入的课程数量
SELECT COUNT(*) FROM courses;

常见问题排查指南

Docker权限问题

当出现"permission denied while trying to connect to the Docker daemon socket"错误时:

# 将当前用户添加到docker用户组
sudo usermod -aG docker $USER

# 立即应用用户组变更(无需重启)
newgrp docker

数据库连接失败

检查docker-compose.yml中的数据库配置:

services:
  db:
    environment:
      POSTGRES_USER: postgres
      POSTGRES_PASSWORD: password
      POSTGRES_DB: earthworm

确保与.env文件中的DATABASE_URL配置一致。

Logto认证服务异常

查看Logto服务日志定位问题:

docker logs earthworm_logto_1

开发环境管理命令集

命令 用途
pnpm docker:start 启动所有Docker服务
pnpm docker:stop 停止所有Docker服务
pnpm docker:delete 删除容器(保留数据卷)
pnpm docker:down 完全清理(含数据卷)
pnpm db:migrate 执行数据库迁移

⚠️ 常见误区:使用pnpm docker:down会删除所有数据,仅在需要完全重置环境时使用。

总结

通过容器化部署方案,我们成功将Earthworm开发环境搭建时间从2小时压缩到10分钟,同时大幅降低了环境配置问题的发生率。这种方式不仅适用于Earthworm项目,也可以作为其他开源项目配置的参考范例。

对于后续开发,可以参考项目中的贡献指南和开发规范,让协作更加顺畅。记住,一个稳定的开发环境是高效开发的基础,花10分钟做好环境配置,能为后续开发节省数小时的调试时间。

祝大家开发顺利,享受Earthworm带来的学习体验!

登录后查看全文
热门项目推荐
相关项目推荐